Spring依赖注入之setter注入与构造器注入以及applicationContext.xml配置文件特殊值处理

依赖注入之setter注入

在管理bean对象的组件的时候同时给他赋值,就是setter注入,通过setter注入,可以将某些依赖项标记为可选的,因为它们不是在构造对象时立即需要的。这种方式可以减少构造函数的参数数量,使得类的构造函数更加简洁。

注:既然是setter注入,则对象的属性必须是有setter方法的,否则会报如下错误:

配置文件里面的name属性的值是由getXxx,setXxx方法定义的,和成员变量是无关的

依赖注入之构造器注入

构造器注入器要求实体类对象必须有满参构造器和空参构造器,并且在注入的时候,满参构造器里的全部都要注入,否则会报参数匹配异常。

特殊值处理

为什么Integer类型也可以用字符串注入数据?

Spring会在后台使用适当的转换器将字符串值转换为目标数据类型。对于基本数据类型和包装类,Spring提供了默认的转换器,可以将字符串转换为对应的数据类型。因此,尽管你提供的是一个字符串,Spring会自动将其转换为Integer类型并成功注入到对应的属性中。

在xml有一些特殊的符号不能使用,要进行转义或者处理

使用xml实体来表示

使用CDATA节

相关推荐
Dola_Pan3 小时前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
wang_book3 小时前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
蜗牛^^O^4 小时前
Docker和K8S
java·docker·kubernetes
从心归零4 小时前
sshj使用代理连接服务器
java·服务器·sshj
一个诺诺前行的后端程序员5 小时前
springcloud微服务实战<1>
spring·spring cloud·微服务
IT毕设梦工厂5 小时前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
Ylucius6 小时前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
七夜zippoe6 小时前
分布式系统实战经验
java·分布式
是梦终空7 小时前
JAVA毕业设计176—基于Java+Springboot+vue3的交通旅游订票管理系统(源代码+数据库)
java·spring boot·vue·毕业设计·课程设计·源代码·交通订票
落落落sss7 小时前
sharding-jdbc分库分表
android·java·开发语言·数据库·servlet·oracle