依赖注入的三种方式_一起学Spring之三种注入方式及集合类型注入
本文主要讲解Spring开发中三种不同的注入方式,以及集合数据类型的注入,仅供学习分享使用,如有不足之处,还请指正。
概述
Spring的注入方式一共有三种,如下所示:
- 通过set属性进行注入,即通过属性的geter,seter方法进入,如果没有对应的方法,就会报错。
- 通过构造函数进行注入,通过类的构造函数进行注入,如果参数个数和构造函数对应不上,也会跑异常。
- 通过p标签进行注入,通过引入p标签的方式进行注入。
前提准备
首先有一个Teacher类和Course类,课程需要有对应的教课老师,两个类代码如下:
Teacher类
Course类
通过属性的方式进行注入
在applicatonContext.xml中配置如下:
通过构造函数的方式进行注入
如果在采用构造函数的方式进行注入,则必须有对应的构造函数与之对应,在applicatonContext.xml中配置如下:
采用p标签的方式进行注入
如果需要采用p标签进行注入,则需要引入命名空间,如下所示:
配置如下:
以上三种方式,在创建对象时,都是一样的,如下所示:
集合类型的注入
首先有一个类,属性为集合数据类型,代码如下:
通过Spring的配置文件进行注入,这里采用setters属性方式进行注入,如下所示:
以上测试信息如下所示:
特殊符号处理
在配置applicationContext.xml实现注入时,如果遇到特殊字符,则需要进行转义,或者进行CDATA封装,如下所示:
如字符串: ,则需要配置成:
或者采用CDATA方式,如下所示:
把代码在CDATA中不需要转义:解析器会忽略 CDATA 部分中的所有内容
备注
XML中的非法字符如下:
只有千锤百炼,才能成为好钢。
一个人自学是很艰难的,有可能因为动力不足而中途放弃,如果有可能,可以加几个适合自己的交流群体,比如QQ,微信,社区这些,有不懂的大家一起交流,在看别人问题的时候也可以让自己避免犯同样的错,如果想通过学习群来提高自己的朋友,需要学习资料的,可以私信我【JAVA】获取!
---------------------
作者:Alan.hsiang
依赖注入的三种方式_一起学Spring之三种注入方式及集合类型注入相关推荐
- 西门子精智comfort系列面板下载程序的几种方法_参考手册(以太网+PN+USB方式)
西门子精智comfort系列面板下载程序的几种方法_参考手册(以太网+PN+USB方式) 以太网及 PN/IE 方式下载 下载要求 以太网电缆 交叉线: 对电缆的具体要求最好采用T568B的交叉线序标 ...
- spring @Autowire 的注解默认是按类型注入bean
spring @Autowire 的注解默认是按类型注入bean,比如下面这个类 import javax.sql.DataSource; import org.springframework.bea ...
- 查询方式中断方式_【每日“一”题】中断方式
↑ 点击上方"计算机考研说"关注我们 1. 某磁盘的转速为10 000转/分,平均寻道时间是6 ms,磁盘传输速率是20 MB/s,磁盘控制器延迟为0.2 ms,读取一个4 K ...
- jsp是在html里面嵌入哪种代码?_奶茶店铺用哪种制冰机才合适?
像在这样炎炎的夏日,温度在直线飙升,茶饮市场最近可谓是异常火,店铺人流量一旦增多,还能保证每一杯饮品的质量吗?还能保证门店的制冰机产量能够跟上需求节奏吗? 奶茶店铺用哪种制冰机才合适?今天,腾工智能商 ...
- 分布式锁的三种实现方式_分布式锁的几种实现方式~
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CAP理论告诉我们"任何一个分布式系统都无法同时满足一致性(Consistency) ...
- mysql 的几种缓存_数据库缓存的几种方式
数据库缓存的几种方式 引入缓存可以提高性能,但是数据会存在两份,一份在数据库中,一份在缓存中,如果更新其中任何一份会引起数据的不一致,数据的完整性被破坏了,因此,同步数据库和缓存的这两份数据就非常重要 ...
- 创建线程的方式_创建线程有几种不同的方式?
方式可以用来创建线程 1)继承Thread类 2)实现Runnable接口 3)应用程序可以适用Executor框架来创建线程池 实现了Runnable接口这种方式更受欢迎,因为这不需要继承Threa ...
- sa结构组网方式_关于 SA/NSA 两种组网模式,你了解多少?-通信/网络-与非网
之前关于一则 5G 的消息在引起了大家的关注,中移动董事长表示,明年 1 月 1 日起非独立组网5G 手机将不能入网. 这样的新闻在很多自媒体的报道和发酵之下,不知怎么就变成了 NSA 是" ...
- 负载均衡的几种方式_负载均衡的几种方式
负载均衡其实就是任务的分发,使得任务能按照你的预想分配到各个计算单元上,它能提高服务对外的性能,避免单点失效场景.这里要注意的一点是虽说叫负载均衡,但是有时候我们的分配算法就是不是均衡的. 比如配个n ...
最新文章
- 深入探讨Python的import机制:实现远程导入模块 | CSDN博文精选
- 使用ISA Server 2006的DMZ区保护内网的服务器群
- xcode怎么打flutter的release包啊_“打工人”梗刚刚爆红网络,“早安打工人”等已被注册商标...
- 2.1.4 进程之间的通信(共享通信、消息传递、管道通信)
- jarjar.jar解决jar包版本兼容问题
- plsql最多可以存多少_银行内部透露:如果有10万块钱,可以都放在余额宝里吗?存银行是不是更好?...
- System.gc()与Object.finalize()的区别
- 计算机开机自启文件夹,电脑开机自动打开文件夹解决方法
- Android 简介:Android SDK 和开发框架简介
- python数字转字符串_python中如何将数字转字符串
- 百度分享代码_网销侠:网络营销百问百答之51,百度小程序是什么
- 五种 必须了解的CSS选择器
- 直播app源码用php做直播平台开发怎么样?
- matlab求解微积分
- android工厂测试开发,Android开机启动工程测试APK功能开发
- 自学Java如何正确入门?
- CSU2020:Artwork(并查集)
- Flask 和 Django 的比较和选择
- 使用电容触摸屏做一个画板--原理(一)
- php百度地图接口两点测距,百度地图Api 根据两个坐标点计算距离
热门文章
- 《Go语言圣经》学习笔记 第五章函数
- Maven pom 文件解释
- 深度剖析Service Mesh服务网格新生代Istio
- Python异步编程Async/Await
- leetcode 24. Swap Nodes in Pairs | 24. 两两交换链表中的节点(Java)
- 数据结构与算法(二):堆,大根堆,小根堆,堆排序,比较器详解
- 【Servlet】Tomcat公共 / 项目独立的 web.xml / server.xml 文件讲解
- C# (逻辑与) ||(逻辑或)优先级辨析
- 排序算法 - 面试中的排序算法总结
- java深入理解浅拷贝和深拷贝