SPEL使用
-
作用
为bean注入属性值
-
格式
<property value="EL表达式">
EL表达式格式:#{xxxxx}
注意:在为bean的属性使用SPEL表达式注入值的时候,不区分属性的类型,不管是基本数据类型还是引用数据类型,统一使用value属性进行赋值。
-
使用举例说明
-
常量
#{10} #{3.14}
-
字符串
#{‘string’}
-
引用其他bean
#{beanId}
-
引用其他bean的属性
#{beanId.属性名}
-
引用bean的方法
#{beanId.methodName}
…
-
使用实例
-
User.java
/** * 用户实体类 */ public class User { private String name; private int age; public void print() { System.out.println("name:" + name + "---------" + "age:" + age); } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } }
-
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 https://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="user" class="com.itheima.entity.User"> <property name="name" value="#{'王昭君'}"/> <property name="age" value="#{23}"/> </bean> </beans>
-
测试类
public class SpringTest { public static void main(String[] args) { //创建Spring容器 ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml"); //获取bean User user = (User) context.getBean("user"); //调用方法 user.print(); } }
-
结果