zoukankan      html  css  js  c++  java
  • @Autowired

    1.结论:@Autowired 默认是按照byType进行注入的,如果发现找到多个bean,则,又按照byName方式比对,如果还有多个,则报出异常。

    2.byType是什么?byName是什么?

    2.1.@Autowired修饰变量

    @Autowired
    DataSource ds;

    byType是DataSource(变量类型)

    byName是ds(变量名)

    2.2.@Bean修饰变量

    @Bean
    public DataSource dataSource1() { 
        return new DruidDataSource(); 
    }
    @Bean
    public DataSource dataSource2(){
        return new DruidDataSource(); 
    }

    byType是DataSource(方法返回值)

    byName是dataSource1与dataSource2(方法名)

    2.3.xml创建bean(之后再写)

    3.解决冲突

    3.1.byType相同,使用@Primary注解(优先级byType>@Primary>byName)

    @Bean
    @Primary
    public DataSource dataSource1() { 
        return new DruidDataSource(); 
    }
    @Bean
    public DataSource dataSource2(){
        return new DruidDataSource(); 
    }

    3.2.修改byName为指定名称(不修改变量名),@Qualifier("xxx")

    @Autowired
    @Qualifier("dataSource1")
    DataSource ds;

     另注:@Resource(这个注解属于J2EE的)的标签,默认是按照byName方式注入的

  • 相关阅读:
    jquery2
    数据库回顾
    jquery
    BOM DOM 注意事項
    JavaScript 注意
    javascrip
    CSS
    html
    网络编程
    淘宝下单高并发解决方案
  • 原文地址:https://www.cnblogs.com/SmilingEye/p/11178812.html
Copyright © 2011-2022 走看看