美文网首页
Spring 实战 五: 运行时注入

Spring 实战 五: 运行时注入

作者: DJN_ | 来源:发表于2018-07-23 08:37 被阅读0次

spring 提供了两种在运行时求值的方式:

  1. 属性占位符(Property placeholder)
  2. spring 表达式语言(SpEL)
image.png
image.png

属性占位符

形式为 "${...}" ,使用 @Value 注解,java 配置需要配置 PropertySourcesPlaceholderConfigurer bean,xml 可通过 <context:property-placeholder /> 开启。


image.png
image.png

xml 中也可通过 “${...}” 的形式使用。

使用 spring 表达式语言装配

  1. 使用 bean id 引用其他 bean
  2. 调用方法和访问对象属性
  3. 对值进行算术、关系和逻辑运算
  4. 正则表达式匹配
  5. 集合操作

SpEL 要放到 “#{...}” 表达式中,在 xml 中也可以使用。

#{T(System).currentTimeMillis()}

T()表达式用于将括号内表达式视为 java 类,能够访问目标类型的静态方法和常量。也直接装配目标类型。

#{envOne.version}

envOne 为 bean 的 id,可获得其可访问成员的值

#{systemProperties['jnidispatch.path']}

systemProperties获取系统属性

#{envOne.getClass().toString().toUpperCase()}

调用 bean 的方法

#{envOne.getStr(true)?.toUpperCase()}

envOne.getStr(true) 返回 null 就不调用 toUpperCase 方法

#{T(java.lang.Math).random()}

调用 java 类的静态方法


image.png

字面值

#{3.1415926}
#{'Hello'}
#{false}
#{9.87E4}


image.png

运算符

算术:+ - * / % ^
比较:< > == <= >= lt gt eq le ge
逻辑:and or not |
条件:?: (ternary) ?: (Elvis) 三元运算符,Elvis 表达式
正则:matches


image.png
image.png

集合

image.png
image.png
image.png

测试

image.png
image.png

相关文章

  • Spring 实战 五: 运行时注入

    spring 提供了两种在运行时求值的方式: 属性占位符(Property placeholder) spring...

  • 运行时的值注入

    运行时注入Value Spring提供了两种方式来进行运行时值注入: Property placeholders ...

  • spring 学习06

    运行时值注入 spring 提供了两种在运行时求值的方式 属性占位符 Spring 表达式语言 用法类似,但是目的...

  • Spring Boot 揭秘与实战

    Spring Boot 揭秘与实战(九) 应用监控篇 - HTTP 应用监控 Spring Boot 提供运行时的...

  • Spring Boot揭秘与实战

    Spring Boot 揭秘与实战(九) 应用监控篇 - HTTP 应用监控 Spring Boot 提供运行时的...

  • Injecting external values

    Injecting external values 运行时动态注入值,有三种方式: Spring Environm...

  • Spring 学习笔记(五)运行时注入

    直接看代码示例: 这里的 tittle artist 都是硬编码的,但有的时候,我们可能会希望避免硬编码值,而是想...

  • 2018-05-05

    spring源码分析(三) 目录五、Spring 源码解读--5.4、IOC 容器的依赖注入----1、依赖注入发...

  • 《Spring实战》笔记

    《Spring实战》笔记 第一部分 Spring的核心 Spring所有的功能都依赖于它的两个核心特性——依赖注入...

  • Spring运行时值注入

    0 前言 在Spring中的Bean配置方式一文中我简单介绍了在Spring中如何配置Bean,通过Bean的配置...

网友评论

      本文标题:Spring 实战 五: 运行时注入

      本文链接:https://www.haomeiwen.com/subject/ysrdmftx.html