• 表达式SpEL方式的属性注入


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

    " Book"+book.getBookName()+

    " Cost"+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、编写一个测试类

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

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

    user.print();

    }

    }

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    【锁】java 锁的技术内幕
    【BlockingQueue】BlockingQueue 阻塞队列实现
    【多线程】获取多个线程任务执行完事件
    【spring cloud】源码分析(一)
    【spring boot】FilterRegistrationBean介绍
    【FAQ】服务下线
    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)...
    实现人民币大写代码解析
    application.yml使用@符合问题:'@' that cannot start any token. (Do not use @ for indentation)
    Maven常见异常及解决方法---测试代码编译错误
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7402899.html
Copyright © 2020-2023  润新知