>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 18921 个阅读者 刷新本主题
 * 贴子主题:  Spring 自动注入的三种方式:byName、byType、constructor 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2020-07-27 09:41:28     消息  查看  搜索  好友  邮件  复制  引用

1 自动注入,分为三种:

<!-- 1.1 根据属性名称自动完成setter注入,类中的属性名和id名称相同则自动完成注入 -->
       <bean id="s"   class="com.zhaoling.dependency.SunWuKong" autowire="byName"></bean>
<!--1.2.根据类中属性的类型,在容器中找到同一类型的唯一组件,完成自动注入-->
       <bean id="s"   class="com.zhaoling.dependency.SunWuKong" autowire="byType"></bean>
<!--1.3.用构造注入完成自动注入,先找构造器中与组件的id相同的,用构造注入完成自动注入;如果没有找到,则找容器中同一类型的唯一组件,用构造注入完成注入.-->
      <bean id="s"   class="com.zhaoling.dependency.SunWuKong" autowire="constructor"></bean>

2.1@Autowired
第一步:在Spring容器中添加启用注解的节点


第二步:在需要注入的属性上面,添加注解@Autowired即可
例如:
@Autowired
private IYaoGuai yg;
该方式是先按照byType到容器中找唯一类型的组件,如果没找到则按byName找和属性名字相同的组件
注解的位置:可以放在setter方法上面,构造函数上面(必须是构造注入),放在属性上面
如果byType找不到唯一,byName找不到同名的组件,可以用注解@Qualifier进行限定到一个组件上,
如:
@Autowired
@Qualifier(“y2”)
private IYaoGuai yg;

2.2 @Resource注解:先按byType,找不到唯一再按byName,如果还找不到可以微调@Resource(name=”y1”),name指定组件的id值
————————————————
原文链接:https://blog.csdn.net/weixin_42117272/article/details/81223276


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->面向对象开发方法概述之开发思想(上)
  JavaWeb开发-->Servlet技术详解(Ⅰ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->基于UDP的数据报和套接字
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->通过Vuex进行状态管理
  Mybatis-plus大数据量流式查询
  Spring 5 webflux响应式编程 - 但时间也偷换概念
  Spring的方法拦截器范例
  HandlerInterceptor与WebRequestInterceptor的异同
  【项目实践】有了SpringBoot还有必要学SSM整合吗 - RudeCrab...
  Spring Boot JPA @OneToOne
  @SessionAttributes的用法
  从零搭建一个基于 ELK 的日志、指标收集与监控系统
  Spring Cloud与Dubbo的完美融合之手「Spring Cloud Alibaba
  理解 RESTful 风格的 API
  微服务架构的优点和缺点
  使用idea和gradle编译spring5源码
  Git 安装配置
  从响应式编程到“好莱坞”
  Java-CORBA
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。