美文网首页
依赖注入注解形式

依赖注入注解形式

作者: 充满智慧的白痴 | 来源:发表于2019-12-30 10:29 被阅读0次

开始注解模式

<?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:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">
   <context:annotation-config/>
   <!-- bean definitions go here -->
</beans>

@Required

> @Required:应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中
// 自动寻找和该属性类型相同的id的bean
>  @Autowired:Spring遇到一个在 setter 方法中使用的 @Autowired 注释,它会在方法中视图执行 byType 自动连接。
属性上面的@Autowired,可以不写setter方法,自动装配和属性名相同id的bean
setter方法上面的@Autowired , 自动装配和属性名
构造方法上面的@Autowired,自动装配和参数名相同id的bean
@Autowired 的(required=false) 自动装配不必须

@Qualifier

当定义多个相同类型的bean时,@Qualifer用于指定装配哪一个

   @Autowired
   @Qualifier("student1") // 装配student1到当前类的student属性中
   private Student student;

使用注解指定生命周期函数

@PostConstruct
public void init(){
   System.out.println("Bean is going through init.");
}
@PreDestroy
public void destroy(){
   System.out.println("Bean will destroy now.");
}

@Resource jsr-250

在字段中或者 setter 方法中使用 @Resource 注释,它的name属性就是注入该属性的bean的id
如果没有明确地指定一个 ‘name’,默认名称源于字段名
@Resource(name= "spellChecker")
 public void setSpellChecker( SpellChecker spellChecker ){
      this.spellChecker = spellChecker;
 }

相关文章

网友评论

      本文标题:依赖注入注解形式

      本文链接:https://www.haomeiwen.com/subject/pzbfpctx.html