bean的最后一次

来源:互联网 发布:剑三冷艳花姐捏脸数据 编辑:程序博客网 时间:2024/05/17 02:31
基于泛型的自动装配(在接口上指定泛型T,然后在子类上去确实这个泛型到底是String,还是其他的)
  一个接口两个实现类,两个实现类分别实现了不同的泛型
  在测试类里面这样写
  @Autowiried
  private Store<String> s1;
 
  @Autowiried
  private Store<Integer> s2;
 
  @Bean
  public StringStore stringStore(){
  return new StringStore();
  }
 
  @Bean
  public IntegerStore interStore(){
  return new IntegerStore();
  }
  @Bean
  public Store Test(){
  return new StringStore();
  }
 
 
  @Resource 注解通常用在变量或setter方法上;他有一个name属性,并且默认该值作为被注入的bean的名称
  public class A{
  private Interface1 interface1;
 
  @Resource(name="myInterface")
  public void setInterface1(Interface1 interface1){
  this.interface1 = interface1;
  }
  @Resource加在interface1上,和setInterface1上都可以注入
  如果没有显示指明名称,那么就从属性名称和set方法的名称来(interface1,setInterface1)
 
  @PostConstruct 初始化回调
  @PreDestory 销毁之前回调
  使用这两个注解的前提是CommonAnnotationBeanPostProcessor已经在ApplicationContext中注册了
  @PostConstruct
  public void init(){
 
  }
  @PreDestory
  public void destory(){
 
  }
 
 
  @Inject等效于@Autowiried,可以使用于类,属性,方法,构造器
 
  1:如果相使用特定名称进行依赖注入,使用@Named
  2:@Named与@Component是等效的,也可以定义在类上
  @@Named("ada")
  public class Interface1{
  private Aa aa;
 
  @Inject
  public void setAa(@Named("main") Aa aa){
  this.aa=aa;
  }
 
  }