spring学习8( SpEL 使用)

SpEL可以引用静态方法 使用运算符 引用其他bean属性 动态的为bean赋值

使用SpEL为属性赋值 为bean标签 value属性赋值格式 "#{值} "

<bean id="adderss" class="pojoa.Adderss">
    <property name="state" value="中国"></property>
        <!-- 使用spel为属性赋值 一个字面值 bean或String类型-->
    <property name="province" value="#{'四川'}"></property>
</bean>
  • 赋值的类型 一个字面值 bean或String类型
  • 字符是单引号

使用SpEL 引用类的静态属性 为bean标签 value属性赋值格式 "#{ T(类路径).值 } "

<bean id="car" class="pojoa.Car">
        <property name="brand" value="奔驰"></property>
        <property name="price" value="5000000"></property>
        <!-- 使用SpEL 引用类的静态属性 -->
        <property name="perimeter" value="#{T(java.lang.Math).PI*80}"></property>
</bean>

使用SpEL 引用其他的bean

<bean id="person" class="pojoa.Persons">
        <!-- 使用SpEL 引用其他的bean -->
        <property name="car" value="#{car}"></property>
        <!-- 使用SpEL 引用其他的bean的属性值 -->
        <property name="site" value="#{adderss.state+adderss.province}"></property>
        <!-- 使用SpEL 使用运算符 -->
        <property name="info" value="#{car.price>300000?'小康':'温饱'}"></property>
        <property name="name"  value="张三"></property>
</bean>
  • 不需要使用 ref 可直接在value属性中应用bean

使用SpEL 引用其他的bean的属性值 #{ bean的id.属性name }

    <bean id="person" class="pojoa.Persons">
        <!-- 使用SpEL 引用其他的bean -->
        <property name="car" value="#{car}"></property>
        <!-- 使用SpEL 引用其他的bean的属性值 -->
        <property name="site" value="#{adderss.state+adderss.province}"></property>
        <!-- 使用SpEL 使用运算符 -->
        <property name="info" value="#{car.price>300000?'小康':'温饱'}"></property>
        <property name="name"  value="张三"></property>
    </bean>

使用SpEL 使用运算符 (三目运算符)

<bean id="person" class="pojoa.Persons">
        <!-- 使用SpEL 引用其他的bean -->
        <property name="car" value="#{car}"></property>
        <!-- 使用SpEL 引用其他的bean的属性值 -->
        <property name="site" value="#{adderss.state+adderss.province}"></property>
        <!-- 使用SpEL 使用运算符 -->
        <property name="info" value="#{car.price>300000?'小康':'温饱'}"></property>
        <property name="name"  value="张三"></property>
</bean>

SpEL总结:

  • 都是要使用“ #{ } ” 这种格式扩起来
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,010评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 假如生活欺骗了你,不要悲观不要失望,更不要怀疑自己。相信面包和牛奶都会有! 决定你过什么样生活,从来都不是你哪一次...
    书苓阅读 531评论 0 1
  • 叮叮橙色的工作服真漂亮,可愉快的时光总是短暂的,下午返程的路上我又想起了我第二天的科目一考试,还有五百多道试...
    悲伤时下雪阅读 379评论 0 1