目录
spring思想
ico: Inverse of Control控制反转
将创建 对象的方式反转了,交给spring。对象的创建和依赖关系由spring完成 创建与注入
DI Dependency Injection依赖注入
Dependency Injection 依赖注入.需要有 IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依赖的属性设置进去
属性注入
有三种:构造器参数名称注入、构造器参数索引注入、构造器参数类型注入
<!-- 4属性注入:4.1构造器参数名称注入 -->
<bean id="car" class="com.lws2.test.Car">
<constructor-arg name="name" value="宝马1"></constructor-arg>
<constructor-arg name="price" value="30000"></constructor-arg>
</bean>
<!-- 4属性注入:4.2构造器参数索引注入 -->
<bean id="car2" class="com.lws2.test.Car">
<constructor-arg index="0" value="宝马2"></constructor-arg>
<constructor-arg index="1" value="30000"></constructor-arg>
</bean>
<!-- 4属性注入:4.3构造器参数类型注入 -->
<bean id="ca3" class="com.lws2.test.Car">
<constructor-arg type="java.lang.String" value="宝马3"></constructor-arg>
<constructor-arg type="java.lang.Integer" value="30000"></constructor-arg>
</bean>
/**
* 4属性注入:4.1构造器注入
*/
@Test
public void carTest() {
Car bean = (Car) context.getBean("car");
System.out.println(bean);
}
/**
* 4属性注入:4.2构造器参数索引注入
*/
@Test
public void car2Test() {
Car bean = (Car) context.getBean("car2");
System.out.println(bean);
}
/**
* 4属性注入:4.3构造器参数类型注入
*/
@Test
public void car3Test() {
Car bean = (Car) context.getBean("car3");
System.out.println(bean);
}
set方式注入
<!-- set方式注入: -->
<bean name="user" class="cn.lws.bean.User" >
<!--值类型注入: 为User对象中名为name的属性注入tom作为值 -->
<property name="name" value="tom" ></property>
<property name="age" value="18" ></property>
<!-- 引用类型注入: 为car属性注入下方配置的car对象 -->
<property name="car" ref="car" ></property>
</bean>
<!-- 将car对象配置到容器中 -->
<bean name="car" class="cn.lws.bean.Car" >
<property name="name" value="兰博基尼" ></property>
<property name="color" value="黄色" ></property>
</bean>
结果
private