Spring注解的方式进行Bean的实例化以及属性注入

1. bean的实例化

在使用注解进行bean的实例化的时候,首先需要在配置文件中进行开启注解扫描的配置
image.png

2.1 用注解的方式创建对象

image.png


  1. **在需要实例化的类的类名上面加上@Component 注解来进行标识,value的值就相当于在配置文件中进行配置时bean标签的id属性的值,用于对象的创建**

2.2 创建对象的四个注解

  1. @Component
  2. @Controller //web层中使用
  3. @Service   //业务层
  4. @Repository //持久层
  1. **这四个注解目前的功能都是一样的**,注解名的不同为了能够让标记类本身的用途更加清晰,Spring在后续的版本中会对其加强

2. 使用注解注入对象属性

  1. 在开发中,我们经常会遇到在一个类中调用另一个类的情况(控制层调用业务逻辑层),这就属于注入了对象属性,现在我们学习使用注解的方式注入对象属性。<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/22720063/1640185838326-c9b5dfa4-705e-4760-9c0b-434adba5b159.png#clientId=u3c40b61e-e5a8-4&from=paste&id=ud0d71321&margin=%5Bobject%20Object%5D&name=image.png&originHeight=526&originWidth=1085&originalType=url&ratio=1&size=55961&status=done&style=none&taskId=u1681c8df-f79f-4c07-9a10-7a08056b6de)

2.1 两种对象属性注入的注解

  1. 使用 @Autowired 注解进行自动装配,不需要指定要注入的对象的value值,自动的根据类名去寻找对应的类来创建对象并进行对象属性的注入。
  2. 使用 @Resource(name=”userDao”),需要指定需要创建的对象的名字,这里的name对应@Component注解中的value的值,使用这个注解能够根据我们所指定的对象名准确创建出我们所需要的对象。

image.png

2.2 配置文件和注解混合使用

  1. 创建对象使用配置文件的方式
  2. 注入属性使用注解的方式在UserServiceImpl中引用UserDaouserDaoImpl类

image.png
UserServiceImpl类
image.png
配置文件
image.png
测试类
image.png
测试结果
image.png

SpringXML的方式进行Bean的实例化以及属性注入