目录
3.3注入的注解: (1)@Autowired (2)@Resource
1.Spring 是什么?
我们通常所说的 Spring 指的是 Spring Framework(Spring 框架),这个框架包含了很多组件。用一句话概括 Spring:Spring 是包含了众多工具方法的 IoC 容器。
1.1Spring优点
(1) 轻量 (2) 针对接口编程,解耦合 (3) AOP 编程的支持 (4) 方便集成各种优秀框架
2.loC:控制反转
实例化对象,及组织对象间的依赖关系,都转交给loC容器来进行管理。
控制权由程序自己控制,转变为loC容器控制,控制权发生反转,所以称为loC容器;
因为是Spring框架中使用,所以也叫Spring容器
对于Spring IoC容器来说,是管理Bean对象(实例化对象,及组织对象间的依赖关系)的容器。使用Spring容器存放对象:程序不需要自己new,某些符合框架约定方法是框架自动调用。
解耦:自己写代码来创建对象及组织依赖关系,属于强耦合的(一个对象需要改代码,依赖这个对象的其他地方,也都得改)使用框架以后,框架自动给我们组织依赖关系,解耦
3.DI:依赖注入(高频面试点)
依赖注入,就是由 IoC 容器在运行期间,动态地将某种依赖关系注入到对象之中
实现方法:
3.1属性注入
3.2构造注入
两种方法一个效果作用
3.3注入的注解: (1)@Autowired (2)@Resource
二者效果一样
区别:@Autowired是Spring框架提供的。@Resource是JDK提供的,jdk只是提供了这个注解,表示是一个资源但是并没有实现(一个规范) Spring框架实现了这个规范,并添加了自己的使用方式。
3.4一个类型多个Bean的注入方式
1.属性名保存和BeanId一致 @Autowired private Bean对象2 testBean2_1; //第二种方式: @Resource(name = "testBean2_1") //name是bean的id/名称private Bean对象2 bean对象2_1; private Bean对象2 bean对象2; //第三种方式: @Autowired @Qualifier( "testBean2_2") //qualifier可以指定bean的id/名称private Bean对象2 bean对象2_2; private Bean对象2 bean对象2;
4.IoC和Dl的关系
loC(控制反转))是一种设计思想,它的实现方式包含loC容器,而loC容器的实现方式,包括DI