0
点赞
收藏
分享

微信扫一扫

spring的自动装配

蓝哆啦呀 2021-10-09 阅读 28
日记本

  1. 自动装配首先时按照类型进行装配,若在 IOC 容器中发现了多个相同类型的组件,那么就按照属性名 称来进行装配


  2. 比如,我容器中有二个 TestDao 类型的组件 一个叫 testDao 一个叫 testDao2
    那么我们通过@AutoWired 来修饰的属性名称是 testDao,那么就加载容器的 testDao 组件,若属性名称为 testDao2 那么他就加载的是 testDao2 组件 2) 假设我们需要指定特定的组件来进行装配,我们可以通过使用@Qualifier("testDao")来指定装配的组件, 或者在配置类上的@Bean 加上@Primary 注解


  3. 假设我们容器中即没有 testDao 和 testDao2,那么在装配的时候就会抛出异常 No qualifying bean of type 'com.demo.testautowired.TestDao' available 若我们想不抛异常 ,我们需要指定 required为 false 的时候可以了


  4. @Resource(JSR250 规范) 功能和@AutoWired 的功能差不多一样,但是不支持@Primary 和@Qualifier 的支持

  5. @InJect(JSR330 规范) 需要导入 jar 包依赖 功能和支持@Primary 功能 ,但是没有 Require=false 的功能

<dependency>
<groupId>javax.inject</groupId>
 <artifactId>javax.inject</artifactId> 
<version>1</version>
 </dependency>
  1. 使用 autowired 可以标注在方法上


举报

相关推荐

0 条评论