主要解决了创建对象和管理对象的问题。
在使用Spring框架后,当需要某个对象时,直接通过Spring获取此对象即可。
Spring可以保证类的对象的唯一性,使得各组件出现依赖关系时,不会创建多个相同的对象。
由于Spring会创建很多个对象并管理起来,开发者需要时直接获取即可,所以,Spring也通常被称之为“Spring容器”。
注解概述:Spring提供了组件扫描的机制,它可以扫描指定的包,并查找此包及其子孙包下是否存在组件类,判定组件类的标准是类上是否存在组件注解,基础的组件注解有:
@Component @Controller @Service @Repository
所以,当某个类需要被Spring框架创建对象时,需要:
-
确保这个类在组件扫描的范围之内
-
确保这个类添加了组件注解
自动装配:
当某个属性需要值时,或被Spring调用的方法需要参数值时,Spring框架会自动从容器中查找符合的对象,自动为属性或方法的参数赋值。
在属性上,添加@Autowired注解,即可使得Spring尝试自动装配。
以一条业务线A为例来展示spring创建对象的过程
备注: controller (控制器) >>> service (业务逻辑处理层) >>> repository(操作数据仓库)
controller:拦截浏览器的请求,例如登录请求,退出请求,增删改查请求
service:处理控制器发送的请求,进行验证工作,与repository进行连接
repository:对数据库进行操作,
1.创建ArepositoryImpl实现类,与对应的接口,用来处理数据,- 添加注解,对此类进行标记
- 实现对应的接口,属于面向接口编程思想.
- 添加构造方法,打桩验证对象是否已经由spring创建
- 输出栏输出语句,代表ARepository对象已经创建成功(当创建对象时,构造方法会自动执行)
- 添加对应类型的注解service
- 实现对应的接口
- 自动装配repository对象
- 打桩输出
- 输出两个语句表示这两个对象均已创建
小结:
这样一条业务线就初步建成,一共创建了三个对象,且对象之间产生联系,存在业务逻辑关系



