Spring——SpEL表达式

SpEL表达式

 SpEL是一种强大的、简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean的属性或构造器参数中。

 SpEL表达式和EL表达式类似,EL表达式使用${....},而SpEL表达式使用#{.....},SpEL表达式不只是用于配置Xml中使用,其可以独

 立于Spring容器使用,接下来只介绍一些简单的用法,用于配置Bean

 !具体使用方法将有下面的例子具体说明 !

SpEL基本使用方式
 

1.字面值

 原本的配置方式:

   <bean id="helloWorld" class="com.chenx.spring.beans.HelloWorld">
        <property name="name" value="ccc"></property>
   </bean>

  使用SpEl表达式配置相同的配置:

    <bean id="helloWorld" class="com.chenx.spring.beans.HelloWorld">
        <property name="name" value="#{'ccc'}"></property>
    </bean>

结论:

    可以使用#{'....'} 来表示一个字面值

扫描二维码关注公众号,回复: 8519148 查看本文章

2.类型运算符

   SpEL表达式使用T() 将括号中的字符串当作类处理,从而可以使用类的静态属性,具体使用如下:

  <bean id="helloWorld" class="com.chenx.spring.beans.HelloWorld">
        <property name="name" value="#{T(java.lang.Math).PI}"></property>
  </bean>

 

  上面这个例子使用了Math的静态属性PI,此结果下赋值为3.1415926.....

3.引用其他的Bean

  原本引用其他的bean:

   <bean id="student" class="com.chenx.spring.beans.Student">
        <property name="list" ref="helloWorld"></property>
   </bean>

  使用SpEL表达式引用:

    <bean id="student" class="com.chenx.spring.beans.Student">
        <property name="list" value="#{helloWorld}"></property>
    </bean>

  还可以引用其他bean中的属性:

  <bean id="student" class="com.chenx.spring.beans.Student">
        <property name="name" value="#{helloWorld.name}"></property>
  </bean>

4.使用运算符

  

  <bean id="student" class="com.chenx.spring.beans.Student">
        <property name="age" value="#{helloWorld.age > 20 ? '大人' : '小孩' }"></property>
  </bean>

 

发布了73 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/daguniang123/article/details/92802952