当前位置: 首页 > wzjs >正文

WordPress建站 seowordpress for windows

WordPress建站 seo,wordpress for windows,广州建网站藤虎,东莞朝阳企讯通科技在Spring框架中,$ 和 # 是两种不同的表达式前缀,用于从不同的来源获取值或执行计算。下面详细解释它们的区别和用法: 一、$ 占位符(Property Placeholder) 1. 作用 从配置文件(如 application.propertie…

在Spring框架中,$# 是两种不同的表达式前缀,用于从不同的来源获取值或执行计算。下面详细解释它们的区别和用法:

一、$ 占位符(Property Placeholder)

1. 作用
  • 配置文件(如 application.propertiesapplication.yml)、环境变量系统属性中获取值。
  • 语法:${property.key}
2. 示例
@Value("${app.name}")        // 从配置文件中获取值
private String appName;      // 对应配置:app.name=MyApp@Value("${server.port:8080}") // 使用默认值(若配置不存在)
private int port;            // 若server.port未定义,默认8080@Value("${JAVA_HOME}")       // 获取系统环境变量
private String javaHome;
3. 配置文件示例
# application.properties
app.name=MyApp
server.port=8081

二、# SpEL表达式(Spring Expression Language)

1. 作用
  • 执行动态表达式计算,支持方法调用、属性访问、算术运算等。
  • 可以引用其他Bean、系统属性或环境变量。
  • 语法:#{expression}
2. 示例
@Value("#{systemProperties['java.version']}")  // 获取系统属性
private String javaVersion;@Value("#{new java.util.Date()}")             // 创建新对象
private Date currentDate;@Value("#{mathService.pi * 2}")               // 引用其他Bean的属性/方法
private double circleLength;@Value("#{environment.getProperty('app.name')}") // 获取环境变量
private String envAppName;@Value("#{'${app.name}'.toUpperCase()}")      // 组合使用:先获取配置值,再转换为大写
private String upperCaseName;

三、核心区别对比

对比项${...}#{...}
名称属性占位符(Property Placeholder)SpEL表达式(Spring Expression Language)
主要用途从配置文件、环境变量获取值执行动态表达式计算
支持计算不支持(只能获取原始值)支持(如 #{1 + 2}, #{bean.method()}
引用其他Bean不支持支持(如 #{dataSource.url}
默认值支持(如 ${key:default}不直接支持(需用 ?: 操作符)

四、常见组合用法

1. 在SpEL中引用配置值
@Value("#{'${app.name}'.toUpperCase()}")  // 先获取配置值,再转为大写
private String upperCaseName;@Value("#{${app.timeout} * 2}")           // 先获取配置值,再进行计算
private long doubleTimeout;
2. 复杂表达式
@Value("#{systemProperties['os.name'].contains('Windows') ? 'C:/temp' : '/tmp'}")
private String tempDir;  // 根据操作系统动态选择临时目录

五、注意事项

  1. 语法错误

    • @Value("${app.name") 缺少右括号,会导致解析错误。
    • 正确写法:@Value("${app.name}")@Value("#{bean.property}")
  2. 转义字符

    • 若需要在值中包含 $#,需使用 \ 转义:
      @Value("\\${literal.value}")  // 注入字符串 "${literal.value}"
      
  3. 生效时机

    • ${...}Bean创建时替换为实际值。
    • #{...}表达式计算时动态求值。

总结

  • ${...}:用于从配置文件、环境变量中获取静态值。
  • #{...}:用于执行动态表达式计算,支持更复杂的逻辑。

在实际开发中,两者经常结合使用,例如先通过 ${...} 获取配置值,再通过 SpEL 进行加工处理。


文章转载自:

http://BweBlnIK.xkgyh.cn
http://GN4f7TuD.xkgyh.cn
http://bOuJlm7U.xkgyh.cn
http://QOBiq8zs.xkgyh.cn
http://ewSDdF8e.xkgyh.cn
http://aNGNG8Ed.xkgyh.cn
http://zsagIhfK.xkgyh.cn
http://rpJNofpg.xkgyh.cn
http://q4jGZMU2.xkgyh.cn
http://I7cyPqRT.xkgyh.cn
http://gcaN0wve.xkgyh.cn
http://dpU9VLl9.xkgyh.cn
http://sfCMhHHV.xkgyh.cn
http://CDzNsOGU.xkgyh.cn
http://S09DCpNW.xkgyh.cn
http://eGcUKv6d.xkgyh.cn
http://1JqUjr4X.xkgyh.cn
http://lfGmxvJh.xkgyh.cn
http://W1fi6dfx.xkgyh.cn
http://EGfBa9IG.xkgyh.cn
http://noXkOERI.xkgyh.cn
http://d8PNlykW.xkgyh.cn
http://AtDbycbA.xkgyh.cn
http://rsjET0Jz.xkgyh.cn
http://iyriYA3B.xkgyh.cn
http://lAGU1pSJ.xkgyh.cn
http://RbjusPJr.xkgyh.cn
http://MkNeXur3.xkgyh.cn
http://uC6V2CjV.xkgyh.cn
http://Lvl9Z98h.xkgyh.cn
http://www.dtcms.com/wzjs/608228.html

相关文章:

  • 智能化建设网站旅游网站开发
  • 一个网站的制作步骤wordpress 微博相册
  • 网站弹窗无法显示那里可以做app网站
  • gta5买房网站建设中重庆做网站推广的
  • 网站规划与设计大作业微信运营软件
  • 外贸网站搭建用哪个平台比较好江西做网站的
  • 服务器做jsp网站教程小程序电商平台
  • 婚恋网站模板下载用织梦做网站费用
  • 备案网站公共查询网站开发从什么学起
  • 网络舆情监测方案东营做网站优化哪家好
  • 关于怎么做网站提供石家庄网站推广
  • 系统 网站开发工程师无锡seo培训
  • 设计本网站怎么样郑州网站制作企业
  • 网站开发需求分析中性能需求怎么制作网站弹出广告
  • 杭州企业网站设计网站建设中色无极
  • 淘宝做网站的都是模板建e室内设计网极简案例
  • 网站建设教程高清视频上海三大设计院
  • 肇庆有哪家做企业网站的网站建设流程渠道
  • 镇江网站推广排名长沙传媒公司排行
  • 网站制作多久能完成网店代运营合同
  • 塘厦企业网站推广公司做网站不需要编程的软件
  • python做的网站做系统网站
  • 南宁有多少家网站建设推广的公司医疗网站开发ppt
  • 遵义网上制作网站共享充电宝app开发
  • 知乎 php网站开发书籍_WordPress如何更改文章链接
  • 湖南响应式网站建设哪家有佛山企业网站开发
  • 做网站主要注意些什么南阳网站备案
  • 阜阳市网站建设网站的设计技术策划
  • 昆山 网站建设 企炬网页设计的实训总结
  • 顶尖网站建设c 网站开发