• SpEL笔记


    SpEL使用示例

        <bean id="chineseA" class="com.xxx.bean.Chinese" scope="prototype">
            <constructor-arg value="Li Lei"/>
            <constructor-arg value="15"/>
            <constructor-arg ref="dogA"/>
        </bean>
     
       <!-- SpEL示例 -->
        <bean id="americanB" class="com.xxx.bean.American">
            <!-- 直接赋值 -->
            <property name="name" value="#{'Mike Sui'}" />
            <!-- T()访问类的静态域与运算符的使用 -->
            <property name="age" value="#{T(java.lang.Math).random() * 10}" />
            <!-- 使用其他类实例成员赋值 -->
            <property name="pet" value="#{americanA.pet}" />
        </bean>
    
        <bean id="americanC" class="com.xxx.bean.American">
            <property name="name" value="#{americanB.name}" />
            <!-- 运算符的使用 -->
            <!-- 包括 gt(>), eq(=), lt(<), ge(>=), le(<=) -->
            <!-- 逻辑运算符 and, or, not -->
            <property name="age" value="#{(americanB.age gt 10) and (americanB.age le 18)? americanB.age : 10}" />
            <!-- 正则的使用 -->
            <property name="validEmail" value="#{americanB.email matches '[a-zA-Z0-9._]+@[a-zA-Z0-9.]+\.com'}" />
            <!-- 安全取值操作符 "?.", 为NULL是不会执行下步操作 -->
            <property name="petName" value="#{americanA.getPet()?.getName}" />
    
        </bean>
    
        <!-- util 集合的使用 -->
        <util:list id="cities">
            <bean class="com.xxx.bean.City"
                  p:name="Beijing" p:population="1500000" />
            <bean class="com.xxx.bean.City"
                  p:name="Shanghai" p:population="2000000" />
            <bean class="com.xxx.bean.City"
                  p:name="Shaoguan" p:population="400000" />
            <bean class="com.xxx.bean.City"
                  p:name="Hangzhou" p:population="800000" />
        </util:list>
    
        <bean id="chinese" class="com.xxx.bean.Chinese">
            <!-- 集合成员的访问 -->
            <property name="city" value="#{cities[2]}" />
            <property name="country" value="#{countries['Dallas']}" />
            <!-- 集合成员的过滤 ".?[]" 操作符的使用 -->
            <!-- 筛选人口多余1000000的城市 -->
            <property name="myCities" value="#{cities.?[population gt 1000000]}" />
            <!-- 获取集合中所有成员的某个属性 ".![]" 操作符的使用 -->
            <property name="cityNames" value="#{cities.?[population gt 1000000].![name]}" />
            <!-- 获取集合中第一个和最后一个匹配项 ".^[] .$[]的使用" -->
            <property name="firstCity" value="#{cities.^[population gt 1000000]}" />
            <property name="lastCity" value="#{cities.$[population gt 1000000]}" />
        </bean>
  • 相关阅读:
    git拉取远程更新到本地的非当前分支
    js模块 amd cmd commonjs esm umd
    Wazuh使用过程的突发状况
    centos安装部署wordpress
    echarts大屏实现饼图图例自定义展示
    echarts大屏实现中国地图散点分布
    echarts大屏实现横向柱状图自动滚动数据
    含糊不清的C语言符号扩展
    C语言的枚举类型——enum的优势和漏洞
    C语言标准的那些事
  • 原文地址:https://www.cnblogs.com/zemliu/p/3197739.html
Copyright © 2020-2023  润新知