>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 22483 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->第一个Java程序
  JavaWeb开发-->Web运作原理(Ⅰ)
  JSP与Hibernate开发-->Java应用分层架构及软件模型
  Java网络编程-->客户端协议处理框架
  精通Spring-->Vue CLI脚手架工具
  Vue3开发-->创建综合购物网站应用
  Netty的粘包和拆包问题分析
  RocketMQ-Spring 为什么能成为 Spring 生态中最受欢迎的
  Spring boot参考指南
  Mybatis-plus大数据量流式查询
  Spring事务的声明和管理
  Spring的方法拦截器范例
  springMVC:HandlerInterceptor拦截器的使用
  vue父、子组件相关的传递
  聊聊Spring Cloud版本的那些事儿
  Spring Cloud 服务发布与调用
  SpringBoot集成Quartz实现定时任务和调度
  浓缩精华的架构演进过程,经验总结,值得收藏!
  Dubbo源码解析之SPI:扩展类的加载过程
  Zabbix后端存储ES的优化实践
  酒店评论数据分析和挖掘-展现数据分析全流程:报告展示篇
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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