好处
- IoC / DI,方便解耦
- AOP 面向切面编程
- 声明式事务
- 方便程序测试
- 方便集成其他优秀框架
IoC 与 DI
- IoC 与 DI 的关系
IoC控制反转:主要是指【创建对象】这件事交给Spring进行处理,无需开发者手动new对象
DI依赖注入:主要指创建对象时,对象拥有的属性需要初始化,那需要给【所依赖的】属性进行注入
先有IoC,后有DI
- 为什么Spring也叫IoC容器?
程序一旦启动,Spring不单单根据【配置】或【注解】进行对象(Bean)创建,还把创建的对象(Bean)储存起来,所以Spring也叫IoC容器。
当你需要用到某个对象(Bean)时,就可以使用如下代码从IoC容器中获取:
// 获取IoC容器
ApplicationContext acc = new ApplicationContext("spring.xml");
// 获取IoC容器中的对象
UserService userService = acc.getBean("userService");
- Bean 管理
(XML方式)
Spring 的 IoC
所创建与存储的对象,我们称之为Bean
- 属性注入
(XML方式)
- Bean 管理
(注解方式)
- 属性注入
(注解方式)