提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
补充《Spring》
一、有参构造注入
1.1有参构造注入
- 必须提供有参构造方法
@AllArgsConstructor
public class Student {
}
- applicationContext.xml配置
<!--通过有参构造方法给属性赋值,创建Student组件对象-->
<bean id="stu" class="com.xxx.pojo.Student">
<constructor-arg name="sno" value="1001"></constructor-arg>
<constructor-arg name="name" value="小张"></constructor-arg>
<constructor-arg name="age" value="18"></constructor-arg>
</bean>
index: 索引,索引号从0开始
type:类型
name:名称
value: 赋值:基本类型和基本类型的包装类以及String类型。
ref :值 需要引用另一个对象
二、设值注入 (set方法赋值)
2.1设值注入 (set方法赋值)
代码如下(示例):
@Data
public class Student {
}
2.2 配置文件中配置
<!--通过set注入给属性赋值,创建Student组件对象-->
<bean id="stu2" class="com.xxx.pojo.Student">
<property name="sno" value="1002"></property>
<property name="name" value="翠花"></property>
<property name="age" value="19"></property>
</bean>
三、属性不同数据类型赋值的语法
3.1 基本类型或String字符串类型
<!--基本类型或String类型赋值-->
<property name="sno" value="1008"></property>
<property name="name">
<value>老王</value>
</property>
3. 2.数组类型
<property name="nickNames">
<array>
<value>王王</value>
<value>老老</value>
</array>
</property>
3.3 List 类型
<property name="nickNames">
<list>
<value>王王</value>
<value>老老</value>
</list>
</property>
3.4 Set 类型
<property name="nickNames">
<set>
<value>王王</value>
<value>老老</value>
</set>
</property>
3.5 Map 类型
<property name="girls">
<map>
<entry key="1" value="村花"></entry>
<entry key="2" value="翠花"></entry>
</map>
</property>
3.6 Properties类型 ,属性配置类型
<property name="properties">
<props>
<prop key="qq">138389438</prop>
<prop key="pwd">520209420</prop>
</props>
</property>
四、DI
DI: 依赖注入(Dependency Injection),IOC和DI完全一样。
在一个类对象(service)中需要依赖于另一个类对象(dao),
将另一个类对象(dao)注入给对象(service)的过程,称为依赖注入。
示例:
<bean id="stu3" class="com.xxxx.pojo.Student">
<!--将年级对象注入给学生对象的年级属性-->
<property name="grade" ref="grade"></property>
</bean>
<!--创建年级对象组件-->
<bean id="grade" class="com.xxxx.pojo.Grade">
<property name="id" value="1"></property>
<property name="name" value="S3"></property>
</bean>
五、查看Spring容器中管理所有对象
String[] names=ac.getBeanDefinitionNames();
for (String name : names) {
System.out.println(name);
}