Spring进一步学习
目录
1、beans.xml编写
public class User {
private String name;
public UserT(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+ name );
}
}
<!-- 第一种根据index参数下标设置 -->
<bean id="user" class="com.workhah.pojo.User">
<!-- index指构造方法 , 下标从0开始 -->
<constructor-arg index="0" value="workhah"/>
</bean>
<!-- 第二种根据参数名字设置 -->
<bean id="user" class="com.workhah.pojo.User">
<!-- name指参数名 -->
<constructor-arg name="name" value="workhah"/>
</bean>
<!-- 第三种根据参数类型设置 -->
<bean id="user" class="com.workhah.pojo.User">
<constructor-arg type="java.lang.String" value="workhah"/>
</bean>
2、别名
(1)alias
alias 设置别名 , 为bean设置别名 , 可以设置多个别名
<!--设置别名:在获取Bean的时候可以使用别名获取-->
<alias name="user" alias="userNew"/>
(2)name
<!--
1、id 是bean的标识符,要唯一,如果没有配置id,name就是默认标识符
2、 如果配置id,又配置了name,那么name是别名
3、name可以设置多个别名,可以用逗号,分号,空格隔开
4、如果不配置id和name,可以根据applicationContext.getBean(.class)获取对象;
class是bean的全限定名=包名+类名
-->
<bean id="hello" name="hello2 h2,h3;h4" class="com.workhah.pojo.Hello">
<property name="name" value="Spring"/>
</bean>
3、依赖注入(DI)
public class Student {
private String name;
private Address address;
private String[] books;
private List<String> hobbies;
private Map<String,String> card;
private Set<String> games;
private String wife;
private Properties info;
}
(1)数组注入
<property name="books">
<array>
<value>语文</value>
<value>数学</value>
</array>
</property>
(2)List注入
<property name="hobbies">
<list>
<value>游戏</value>
<value>学习</value>
</list>
</property>
(3)Map注入
<property name="card">
<map>
<entry key="身份证" value="123"/>
<entry key="银行卡" value="123"/>
</map>
</property>
(4)set注入
<property name="games">
<set>
<value>lol</value>
<value>王者</value>
</set>
</property>
(5)Null注入
<property name="wife">
<null/>
</property>
(6)properties注入
<property name="info">
<props>
<prop key="学号">123</prop>
<prop key="班级">222</prop>
</props>
</property>
(7)p命名空间
<!-- 导入约束 : xmlns:p="http://www.springframework.org/schema/p" -->
<!--P(属性: properties)命名空间 , 属性依然要设置set方法-->
<bean id="user" class="com.workhah.pojo.User" p:name="workhah" p:age="18"/>
(8)c命名空间
<!-- 导入约束 : xmlns:c="http://www.springframework.org/schema/c" -->
<!--C(构造: Constructor)命名空间 , 属性依然要设置set方法-->
<bean id="user" class="com.workhah.pojo.User" c:name="workhah" c:age="18"/>