4.spring(ioc)
1.什么是Bean?
Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。
Spring 容器会自动完成@bean对象的实例化。
创建应用对象之间的协作关系的行为称为:装配(wiring),这就是依赖注入的本质。
2.bean注解
@bean: 网址.
3.实例化 Bean 的三种方式 (放入容器)
1.使用默认无参构造函数
2.spring 管理静态工厂-使用静态工厂的方法创建对象
使用 StaticFactory 类中的静态方法 createAccountService 创建对象,并存入 spring 容器
3.spring 管理实例工厂-使用实例工厂的方法创建对象
先把工厂的创建交给 spring 来管理。
然后在使用工厂的 bean 来调用里面的方法
就说把实例交给spring容器管理,解耦
4.依赖注入的三种方式(从容器中拿)
所谓依赖注入,是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入。Spring的依赖注入对调用者和被调用者几乎没有任何要求。依赖注入通常有三种:
构造函数注入
set方法注入
使用 p 名称空间注入数据(本质还是调用 set 方法)
5.注解:
1.@Controller, @Service, @Repository,@Component
交给容器
2.@Resource
默认按 byName自动注入,如果找不到再按byType找bean,如果还是找不到则抛异常,无论按byName还是byType如果找到多个,则抛异常。
可以手动指定bean,它有2个属性分别是name和type,使用name属性,则使用byName的自动注入,而使用type属性时则使用byType自动注入。
@Resource(name=”bean名字”)
或
@Resource(type=”bean的class”)
这个注解是属于J2EE的,减少了与spring的耦合。
3.@Autowired
Autowired默认先按byType,如果发现找到多个bean,则,又按照byName方式比对,如果还有多个,则报出异常。