Spring框架中 自动装配的详解 属性值的详解
- 手动装配实现属性注入
<bean id="studentDao" class="com.xz.dao.impl.StudentDaoImpl"></bean> <bean id="studentService" class="com.xz.service.impl.StudentServiceImpl"> <!--手动装配:设值注入,将studentDao对象注入给service对象的dao属性 --> <property name="studentDao" ref="studentDao"></property> </bean> |
缺点:当维护bean组件或bean属性增加时,需要大量工作量完成配置。
- 自动装配实现属性注入
|
- 基于xml配置实现自动装配
3.1 在bean标签上加上autowire自动装配属性
<bean id="studentDao" class="com.xz.dao.impl.StudentDaoImpl"></bean> <bean id="studentService" class="com.xz.service.impl.StudentServiceImpl" autowire="byName"> </bean> |
3.2 autowire属性值
属性值 |
描述 |
byName |
根据名称自动装配。 要求:对象id标识名和对象属性的set方法名相同。 |
byType |
根据类型自动装配 要求:对象的class类型和对象属性的类型相同。 注意:如果spring容器中有多个与对象属性相同的类型的bean,会报错。 |
constructor |
类似于byType,区别在于走构造方法。 |
no |
不自动装配。必须手动装配进行配置 |
default |
装配方式和全局自动装配default-autowire的值一致。 如果autowire和default-autowrie都为default,那么就是不自动装配 |
3.3 全局的自动装配
<beans default-autowire="byName"/> 适用于所有的bean |
- 基于注解实现实现自动装配
- Spring管理对象的注解,等价于<bean/>
注解 |
描述 |
@Component |
创建对象注解,没有语义 默认id标识名:类名首字母小写 自定义id标识名:@Service("studentService") |
@Service |
放在service层类上注解 |
@Repository |
放在dao层类上注解 |
@Controller |
放在控制层Controller类上注解 |
- 自动注入注解,等价于autowire属性
注解 |
描述 |
@Resource |
Jdk提供注解,不需要提供set方法。 先根据byName进行注入,如果没有name一样的, 再根据byType进行注入。 |
@Autowired |
Spring提供注解,不需要提供set方法。 根据byType进行注入。 |
- 自动装配和手动装配
装配类型 |
优点 |
缺点 |
手动装配 |
对象之间依赖明确,xml可读性高 |
配置工作量大 |
自动装配 |
简化配置 |
对象之间依赖不明确 |
Spring框架中 自动装配的详解 属性值的详解相关推荐
- Spring框架的自动装配
一.表现机制 当某个变量需要被赋值时,可以使用特定的语法,让Spring尝试从容器中找到合适的值,并自动完成赋值 最典型的表现就是添加@Autowired注解,Spring就会尝试从容器中找到合适的值 ...
- Spring框架之自动装配
Spring的IoC容器通过Java反射机制了解了容器中所存在Bean的配置信息,这包括构造方法的结构,属性的信息,而正是由于这个原因,Spring容器才能通过某种规则来对Bean进行自动装配,而无须 ...
- java 自动装载_java_详解Java的Spring框架下bean的自动装载方式,Spring容器可以自动装配相互协 - phpStudy...
详解Java的Spring框架下bean的自动装载方式 Spring容器可以自动装配相互协作bean之间的关系,这有助于减少对XML配置,而无需编写一个大的基于Spring应用程序的较多的和元素. 自 ...
- Spring框架中常用的设计模式详解
一.浅谈控制反转(IOC)与依赖注入(DI) IOC(Inversion of Control)是Spring中一个非常重要的概念,它不是什么技术,而是一种解耦的设计思想.它主要的额目的是借助于第三方 ...
- 请解释Spring Bean 的自动装配?
在Spring 框架中,在配置文件中设定bean 的依赖关系是一个很好的机制,Spring 容器还可以自动装配合作关系bean 之间的关联关系.这意味着Spring 可以通过向Bean Factory ...
- Spring精华问答 | Spring Bean的自动装配是怎么回事?
戳蓝字"CSDN云计算"关注我们哦! Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Sprin ...
- Spring Boot(一) 自动装配--约定大于配置
欢迎去我的个人博客--晓坞坐坐,里面有很多有趣的文章,不止是技术.www.lixiaodongisme.com 随着spring体系的发展,我们在开发时需要配置整合的东西也越来越多,在进行开发时,繁琐 ...
- Spring 由构造函数自动装配
转载自 Spring 由构造函数自动装配 Spring 由构造函数自动装配 这种模式与 byType 非常相似,但它应用于构造器参数.Spring 容器看作 beans,在 XML 配置文件中 be ...
- Spring IOC容器-自动装配
1 autowire="byName" 根据名称自动装配,自动去IOC容器中找与属性名同名的引用的对象,并自动注入. <!-- ###############自动装配#### ...
最新文章
- python正则表达式需要模块_使用Python正则表达式模块,让操作更加简单
- ios app上架App Store需要多少费用?
- VS 2012 如何发布 ASP.NET 网站到本地IIS
- threejs加载模型挤压变形_玻璃钢模具表面变形的原因及解决办法
- Spark数据统计指标计算
- 拓端tecdat|R语言中使用RCPP并行计算指数加权波动率
- python小球弹跳_python实现小球弹跳效果
- 移动开发构架漫谈——反劫持实战篇
- 电压采集采样电路设计
- 分享五个最好的BT下载软件
- Markdown Katex 集合相关符号
- 魔域进游戏老是显示服务器繁忙,魔域2014年春节-温情卡诺萨
- 11月13日科技资讯|天猫回应“双11数据造假”:已启动司法流程;小米折叠手机专利曝光;ASP.NET感染勒索软件|极客头条
- hdoj 超级赛亚ACMer (贪心)
- 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)
- 计算机教师教育笔记,信息技术教师的读书笔记
- 计算机网络技术原理文献,计算机类毕业论文参考文献汇总
- 一元三次方程组的解法
- 2020中级计算机工程师,2020年上半年中级网络工程师报考详解
- 气动阀门定位器工作原理
热门文章
- python函数介绍(20804字的带图超详细说明)
- 海康服务器装win7系统,详解win7旗舰版系统必须重装的四种情况
- 点歌服务器定时关闭系统,iOS 基础教程:设置系统自带的睡眠计时器,定时关闭音乐播放...
- 总结27 -- E45: ‘readonly‘ option is set (add ! to override)
- Java进阶学习第八天——WEB入门
- 论文阅读(7)水母游动的流体动力学 - 海洋科学年刊(2021)
- Java知识点串讲之面向对象简述
- Discuz手机模板:NVBING5-APP手机版
- html 圆环实现多种颜色,Echart饼图实现(圆环图)+状态颜色控制
- html有红色虚线边框效果,html 边框虚线