1. 程式人生 > >表達式SpEL方式的屬性註入

表達式SpEL方式的屬性註入

ica pac ext port xsd cos public com rop

-----------------------siwuxie095

表達式 SpEL 方式的屬性註入

表達式 SpEL 方式的屬性註入是 Spring 3.x 版本後提供的方式

1、編寫一個普通類

Book.java:

package com.siwuxie095.property;

public class Book {

private String bookName;

private int bookPrice;

public void setBookName(String bookName) {

this.bookName = bookName;

}

public String getBookName() {

return bookName;

}

public void setBookPrice(int bookPrice) {

this.bookPrice = bookPrice;

}

public int getBookPrice() {

return bookPrice;

}

}

2、編寫另一個普通類

User.java:

package com.siwuxie095.property;

public class User {

private String userName;

private Book book;

public void setUserName(String userName) {

this.userName = userName;

}

public void setBook(Book book) {

this.book = book;

}

public void print() {

System.out.println("User"+userName+

"\nBook"+book.getBookName()+

"\nCost"+book.getBookPrice());

}

}

3、在配置文件中註入屬性

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">

<!-- 表達式 SpEL 方式的屬性註入 -->

<bean id="book" class="com.siwuxie095.property.Book">

<property name="bookName" value="#{‘十萬個為什麽‘}"></property>

<property name="bookPrice" value="#{100}"></property>

</bean>

<bean id="user" class="com.siwuxie095.property.User">

<property name="userName" value="#{‘小明‘}"></property>

<property name="book" value="#{book}"></property>

</bean>

</beans>

4、編寫一個測試類

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 實例)

User user=(User) context.getBean("user");

user.print();

}

}

【made by siwuxie095】

表達式SpEL方式的屬性註入