1.实现ApplicationContextAware
public class SpringContext implements ApplicationContextAware{
private ApplicationContext ac;
private static SpringContext instance = null;
public static SpringContext getInstance(){
return instance;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.ac = applicationContext;
instance = this;
}
/**
* @return the ac
*/
public ApplicationContext getAc() {
return ac;
}
}
2.使用:没有声明deviceService属性,却在方法中想用容器管理的deviceService
IDeviceService deviceService =(IDeviceService) SpringContext.getInstance().getAc().getBean("deviceService");
分享到:
相关推荐
基于接口、抽象类实现不停机动态调整代码的目的,将修改后的源码文件放置于指定目录下,读取文件后执行动态编译方法,即可将该类重新加载,新的类可以在Spring容器从新注册,且仅在当前窗口生效。如果重启了服务或...
`ApplicationContextAware`是其中的一个典型接口,当我们想要在非托管类(即非Spring Bean)中获取Spring容器中的其他Bean时,可以使用这个接口。 `ApplicationContextAware`接口提供了`setApplicationContext`方法...
在Spring框架中,Bean的初始化是一个关键的概念,它涉及到Bean的生命周期管理以及Spring容器如何创建、配置和管理这些Bean。本文将深入探讨Spring容器中Bean的初始化过程。 首先,Spring容器根据XML配置文件(如`...
这时,我们就需要一种方式来访问Spring的ApplicationContext,它是Spring容器的核心,负责管理所有Bean。 一种常见的做法是创建一个工具类,如`SpringUtil`,该类实现`ApplicationContextAware`接口。这个接口是...
这将有助于加深对Spring Ioc的理解,并且为自定义容器或扩展现有框架提供基础。 总之,这个项目是学习和理解Spring Ioc的一个很好的起点,它可以帮助我们剥离Spring的复杂性,专注于IoC的核心原理。通过实践,我们...
3. **ApplicationContext**:在Spring中,`ApplicationContext`是Spring IoC容器的主要实现,它负责加载配置文件,创建并管理Bean的生命周期。在本例中,`applicationContext.xml`是配置文件,用来定义Bean及其相互...
在Servlet中,我们可以利用`WebApplicationContextUtils`工具类来获取当前Servlet上下文(ServletContext)中的WebApplicationContext。这是一个静态方法,如下所示: ```java ApplicationContext context = ...
第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。 第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM...
4. **依赖注入**: 在实例化Bean的同时,Spring会根据Bean定义中的依赖关系,自动将所需的其他Bean注入到当前Bean中。依赖注入可以通过属性注入(setter方法)、构造器注入或者方法注入实现。 5. **生命周期管理**: ...
SpringApplication 会创建环境参数 environment,用于存储当前 Spring Boot 应用要使用的环境信息。 4. 打印 Banner SpringApplication 会打印 Banner,也可以自定义启动 logo。 5. 创建 ApplicationContext ...
在这个例子中,`@Component`注解标记了当前类为一个组件,可以被Spring容器管理。`@Autowired`注解则告诉Spring框架自动将匹配的Bean注入到对应的属性中。 #### 3. 使用自定义工具类 对于一些复杂的项目来说,可能...
- **1.2.3 使用容器**: 创建容器后,可以通过容器获取Bean实例,并利用其提供的各种服务,如依赖注入、生命周期管理等。 ##### 1.3 Bean 概述 - **1.3.1 命名Bean**: 可以为Bean指定一个唯一的名字,便于容器管理...
9. **Spring Boot**:虽然Spring Boot不在当前版本中,但提到Spring,就不得不提Spring Boot。它是一个快速启动Spring应用的框架,通过自动配置和starter POMs简化了Spring应用的初始设置。 10. **版本兼容性**:...
3. **在Spring容器中使用SpringEL**: SpringEL不仅可以在视图层(如Thymeleaf模板)中使用,还可以在配置文件或者Spring Bean的初始化中使用。例如,你可以在一个Bean的初始化方法中计算处理时长,或者在SpEL...
#### 一、Spring IoC容器的构建与工作原理 **Spring**作为一款轻量级的Java开发框架,在Java企业级应用领域扮演着极其重要的角色。其中,**IoC(Inversion of Control,控制反转)**与**DI(Dependency Injection,...
为了启动Spring容器并运行应用程序,我们可以创建一个主类,使用`ApplicationContext`来加载配置并获取bean。例如: ```java import org.springframework.context.ApplicationContext; import org.springframework....
而IoC的方法是只在类A中定义好用于关联接口B的实现的方法,将类A,接口B和接口B的实现C放入IoC的容器(Container)中,通过一定的配置由容器(Container)来实现类A与接口B的实现C的关联。 四、Spring对多种ORM框架...