Spring Bean定义中表达式语言的支持

    SpEL(Spring Expression Language,Spring表达式语言)的一个重要的作用就是扩展Spring容器的功能,允许在Bean定义中使用SpEL。XML配置文件和Annotation中都可以使用SpEL。在XML和Annotation中使用SpEL时,都需要使用#{ expression }的格式来包装表达式。

    例如有如下的Author类:

1public class Author { 2    private String name; 3    private List<String> books; 4    private Object obj; 5    //省略getter 和 setter 6}

    这个Author类需要注入name和books属性。当然,可以按照以前的方式进行配置,但如果使用SpEL,将可以对Spring配置文件进一步简化:

    因为本例要用到Spring的p命名空间和util命名空间,故先在applicationContext.xml文件的<beans>元素中增加以下内容:

1xmlns:p="http://www.springframework.org/schema/p" 2xmlns:util="http://www.springframework.org/schema/util" 3http://www.springframework.org/schema/util 4http://www.springframework.org/schema/util/spring-util-3.0.xsd

    然后配置Bean:

1<!-- 使用util.priperties加载指定的资源文件 --> 2<util:properties id="config" location="classpath:config_zh_CN.properties" /> 3<bean id="author" class="com.abc.Author"> 4    <!-- 在表达式中调用方法 --> 5    p:name="#{'abcdef'.subString(0,3)}" 6    p:obj="#{new java.lang.Object()}" 7    <property name="books"> 8        <list> 9            <!-- 在表达式中访问其他Bean的属性 --> 10            <value>#{config.book1}</value> 11            <value>#{config.book2}</value> 12            <value>#{config.book3}</value> 13        </list> 14    </property> 15</bean>

    上面的代码就是利用SpEL进行配置的,使用SpEL可以在配置文件中调用方法、创建对象(这种方式可以代替嵌套Bean语法),访问其他Bean的属性等等。总之,SpEL支持的语法都可以在这里使用,SpEL极大的简化了Spring配置。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

spring注解

随着越来越多地使用Springboot敏捷开发,更多地使用注解配置Spring,而不是Spring的applicationContext.xml文件。Configuration注解:Spring解析为配置类,相当于spring配置文件Bean注解:容器注册Bean组件,默认id为方法名@Configurat

Spring 学习笔记(三):Spring Bean

1Bean配置Spring可以看做是一个管理Bean的工厂,开发者需要将Bean配置在XML或者Properties配置文件中。实际开发中常使用XML的格式,其中<bean中的属性或子元素如下:id:Bean在BeanFactory中的唯一标识,在代码中通过BeanFac

Java——基于AspectJ的AOP开发

1.AspectJ简介AspectJ是一个基于Java语言的AOP框架。Spring2.0以后新增了对AdpectJ切点表达式的支持。@AspectJ是AspectJ1.5新增功能,通过JDK5注解技术,允许直接在Bean类中定义切面。新版本Spring框架,建议使用AspectJ方式来开发AOP。使用AspectJ需要导