spring技术小结

2018-12-24 11:45:56 浏览数 (1)

1.DI和IOC

依赖注入(Dependency Injection)还是控制反转(Inversion of Conctrol)

bean通过依赖注入,注册到spring容器里面。spring容器通过控制反转,调用bean。

2.DI的方法

这里网上很多配置注入,构造方法注入,类参数注入,get/set注入等等,一点总结能力都没有啊。

其实就两种,配置注入和方法注入。java8支持多注解(annotations)之后,方法注入多了灵活的注解注入。

3.bean的作用域

singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的bean将只有一个实例; prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新实例; request:每次HTTP请求中,使用request定义的bean都将产生一个新实例,只有在web应用程序使用Spring时,该作用域才有效; session:每次HTTP请求中,使用session定义的bean都将产生一个新实例,只有在web应用程序使用Spring时,该作用域才有效; global session:和session类似,但是只适用于portlet(另一个mvc框架),若在springmvc里面就是session的效果。

4.获取spring容器

通过上面说的request,session之类的xxxxContext向上获取spring容器(ApplicationContext);

或者直接实现ApplicationContextAware接口

或者直接通过配置获取

代码语言:javascript复制
ApplicationContext ctx  = new ClassPathXmlApplicationContext("bean.xml");

PS.都不建议获取spring容器,因为提高了耦合,污染了代码。

并且通过配置获取,会将初始化所有Bean实例。

5.spring的装配

@Autowire 自动装配。

@Qualifier 精确装配。

0 人点赞