XML beans内部配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="com.kdy.beans.User" id="user">
<description>用来描述bean是干什么的</description>
</bean>
<bean class="com.kdy.beans.User" id="user2"></bean>
<!-- 设置bean的别名-->
<alias name="user" alias="user3"></alias>
<!-- 可以导入另外的xml <import resource=""></import>-->
# </beans>
<bean class="com.kdy.beans.User" id="user2" name="zhangsan lisi,wangermazi"></bean>
除了alias之外 也可以直接通过name设置别名(空格 ,号 ;号都可以)
测试代码Before注解
@Before
public void before1(){
ioc = new ClassPathXmlApplicationContext("spring.xml");
}
设置公用的在测试前加载
XML Bean注解依赖注入
<bean class="com.kdy.beans.User" name="user6">
<property name="id" value="18"></property>
<property name="username" value="张三"></property>
<property name="realname" value="张歪歪"></property>
</bean>
基于setter方法的注入 初始化。 name 属性名 对应setter的方法名
<bean class="com.kdy.beans.User" name="user7">
<constructor-arg name="id" value="2"></constructor-arg>
<constructor-arg name="realname" value="李四"></constructor-arg>
<constructor-arg name="username" value="李不着调"></constructor-arg>
</bean>
基于construct构造函数的 注入。name 可以省略 一定注意参数顺序。name也可以用 index 0 1 2来代替。可以通过type 指定参数类型
type="java.lang.String"
注入null值
<property name="name">
<null></null>
</property>
注入对象实例 ref方式
<property name="wife" ref="wife"></property>
<bean class="com.kdy.beans.Wife" id="wife">
<property name="age" value="18"></property>
<property name="realname" value="挑花"></property>
</bean>
注入对象实例 bean直接使用
<property name="wife">
<bean class="com.kdy.beans.Wife">
<property name="age" value="13"></property>
<property name="realname" value="不知道名"></property>
</bean>
</property>
注入List类型是基础类型
<property name="hobbies">
<list>
<value>游泳</value>
<value>打游戏</value>
</list>
</property>
注入Map类型
<property name="course">
<map>
<entry key="111" value="MySQL"></entry>
<entry key="222" value="Oracle"></entry>
</map>
</property>