xxxxx
String+8种基本类型
10
yusael
数组
abc@qq.com
123@qq.com
hello@qq.com
Set集合
138xxxxxxxxxx
139xxxxxxxxxx
138xxxxxxxxxx
List集合
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
China
Earth
hell
Map集合
hello
12312312312
world
21314214214
Properites
value1
value2
value3
复杂JDK类型(Date、…)
需要程序员自定义类型转换器,处理。
第一种方式
[开发步骤]:
-
为成员变量提供 set get 方法
-
配置文件中进行注入(赋值)
第二种方式
第⼀种赋值方式存在的问题:
-
配置文件代码冗余;
-
被注入的对象 (UserDAO)多次创建,浪费(JVM)内存资源。
[开发步骤]:
-
为成员变量提供 set get 方法;
-
配置文件中进行配置;
Spring4.x 废除了 <ref local=""/>
基本等效 <ref bean=""/>
;
基于属性的简化
JDK 类型注入:
10
JDK类型注入简化:value
属性只能简化 8种基本类型 + String 注入标签;
用户自定义类型注入:
用户自定义类型注入简化:
基于p命名空间的简化
JDK 类型注入:
10
yusael
JDK 类型注入 - 基于p命名空间的简化。
<bean id=“person” name=“p” class=“com.yusael.basic.Person”
p:name=“yusael” p:id=“10”/>
用户自定义类型注入:
用户自定义类型注入 - 基于p命名空间的简化。
<bean id=“userService” class=“com.yusael.service.UserServiceImpl”
p:userDAO-ref=“userDAO”/>
=======================================================================
-
注入:通过 Spring 的配置文件,为成员变量赋值;
-
Set注入:Spring 调用 Set 方法 通过 配置文件 为成员变量赋值;
-
构造注入:Spring 调用 构造方法 通过 配置文件 为成员变量赋值;
- 提供有参构造方法
public class Customer {
private String name;
private int age;
public Customer(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return “Customer{” +
“name=’” + name + ‘’’ +
“, age=” + age +
‘}’;
}
}
- spring 配置文件
zhenyu
21
参数个数不同
参数个数不同时,通过控制 <constructor-arg>
标签的数量进行区分;
如果只有一个参数的话,只需要一对 <constructor-arg>
标签:
zhenyu
如果有两个参数的话,用两对 <constructor-arg>
标签,以此类推。