------------------siwuxie095
属性注入
1、属性注入,即 向类中的属性设置值
2、属性注入的方式共有三种:
(1)使用有参构造器注入
(2)使用 set 方法注入
(3)使用接口注入
3、在 Spring 框架中,只支持前两种方式
(1)使用有参构造器注入
1)编写一个普通类
Book.java:
package com.siwuxie095.property;
public class Book {
private String bookName;
public Book(String bookName) { this.bookName=bookName; }
public void print() { System.out.println("Book:"+bookName); } } |
2)在配置文件中使用有参构造器注入属性
applicationContext.xml:
<?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 id="book" class="com.siwuxie095.property.Book">
<constructor-arg name="bookName" value="十万个为什么"></constructor-arg>
</bean>
</beans> |
3)编写一个测试类
TestProperty.java:
package com.siwuxie095.property;
import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestProperty {
/** * 手动加上 @Test 以进行单元测试(将自动导入 JUnit 4 的 jar 包) * * 选中方法名,右键->Run As->JUint Test */ @Test public void testProperty() { // (1) 加载 Spring 的核心配置文件 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
// (2) 得到核心配置文件中创建的对象(获取 Bean 实例) Book book=(Book) context.getBean("book");
book.print(); } } |
(2)使用 set 方法注入(建议)
1)编写一个普通类
Book.java:
package com.siwuxie095.property;
public class Book {
private String bookName;
public void setBookName(String bookName) { this.bookName = bookName; }
public void print() { System.out.println("Book:"+bookName); } } |
2)在配置文件中使用 set 方法注入属性
applicationContext.xml:
<?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">
<!-- 使用 set 方法注入属性 --> <bean id="book" class="com.siwuxie095.property.Book">
<property name="bookName" value="十万个为什么"></property>
</bean>
</beans> |
3)编写一个测试类(同上 TestProperty.java)
【made by siwuxie095】