zoukankan      html  css  js  c++  java
  • 【Spring】Bean自动装配及使用注解装配

    一、byName byType自动装配

    如果我们的类拥有一下字段

     那么常规的配置文件 应该如下

    我们来了解一下byname bytype

    byName:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。 

    byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生,也可以通过设置 

    byName测试:

    people内字段为cat

     

    people内字段为cat2

     

     

    byType测试

    如果存在2个同类型的bean时会报错

    删掉一个就好了

     二、使用注解

    @Autowired

     不需要在配置文件中写autowired指定时byname还是bytype了

    autowire默认是bytype的。如果唯一則注入,否则byName查找。

    使用qualifier指定bean的name 达到byname的用法

     

     

     

    @Resource

    我的java14没有这个包啊 手动导入依赖解决


    <dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.1</version>
    </dependency>

    @Autowire按照名称(by-name)装配,则
    @Autowire + @qualifier("") = @Resource(name="")

  • 相关阅读:
    Cannot change version of project facet Dynamic web module to 3.0
    mybatis
    mybatis逆向工程工具
    mybatis和jdbc分析
    分析mybatis和jdbc的作用,已经原理
    JDBC使用步骤
    MyBatis架构设计及源代码分析系列(一):MyBatis架构
    MyBatis的foreach语句详解
    vue.js使用elemnetUi
    vue.js路由嵌套传参
  • 原文地址:https://www.cnblogs.com/cckong/p/14377158.html
Copyright © 2011-2022 走看看