KKB:注解实现IOC

注解实现IOC : 包括对象的容器化管理 以及 对象的注入

1、配置文件中增加context标签等

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

2、配置注解扫描:指定扫描包下所有类中的注解,扫描包时,会扫描所有的子孙包

3、注解添加在类名

  • @Component("对象名")
  • @Service("person")
  • @Controller("person")
  • @Repository("person")
  • @Scope(scopeName="singleton")
  • @Scope(scopeName="prototype")

4、注解在属性

  • @value("属性值")
  • @Autowired

特别说明,使用@Autowired注解在属性上,默认使用的是根据类型匹配。所以说这里可能就会出现之前提到的多个类型的错误。比如说,我们使用接口UserDao创建了对象,该接口的实现类有两个,那么此时的springDI,依赖注入不知道该使用哪一个实现类,就会报错,我们可以通过指定@Qualifier("bean name")来指定确定的实现类

  • @Qualifier("bean name")
  • @Resource(name="对象名")

这里的@Resource(name="对象名")相当于@Autowired + @Qualifier("bean name")

值得说明的是:使用注解的方式进行依赖注入,不会硬性要求具有属性的构造方法和Set方法的,即是你没有写构造方法和set方法也是可以正常运行的,而之前使用的配置文件方法是需要具有set方法和无参构造

5、注解还可以添加在方法上(用得少)

猜你喜欢

转载自blog.csdn.net/awodwde/article/details/112794822