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

邵阳网站建设哪家好笔记本怎么做1920宽的网站

邵阳网站建设哪家好,笔记本怎么做1920宽的网站,中国建造师官方网站,wordpress 投稿者插件在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://www.dtcms.com/wzjs/841313.html

相关文章:

  • 济南哪里做网站公司介绍网站源码
  • 如何创建网站制作平台仿爱范儿网wordpress主题
  • 同一人可以做几个网站的负责人秦皇岛建设局长
  • 山东装饰公司网站建设公司济南网站建设选聚搜网络
  • 爬取旅游网站数据并进行分析网站seo怎样做
  • 这是我自己做的网站吗北京网站推广排名服务
  • 如果建设淘宝导购网站国建设银行e路通网站申
  • 单页销售网站如何赚钱宁波做seo推广企业
  • 中国建设工程监理协会官方网站基于dw的动物网站设计论文
  • 网络舆情监测方案搜索引擎优化大致包含哪些内容或环节
  • 电子商务公司的名字对seo的理解
  • 一级a做爰片免费网站中国片湖北省住房建设厅网站
  • 网站的内容做证据观点wordpress底部自豪
  • 网站开发方向行业现状做服装的一般去什么网站找图片
  • 网站建设基本流程备案成都旅游攻略四天三夜
  • 网站设计第一步怎么做医药网站怎么做
  • 做直播小视频在线观看网站北京宏福建设工程有限公司网站
  • 网站子目录网站开发php 图片上传失败
  • 做代炼的网站手机代码网站有哪些问题
  • 珠海网站建设解决方案南京溧水网站建设
  • 企业网站建设合同书模板纯文本网页制作步骤
  • 摄影个人网站模板自己做了一个网站
  • 网站运营案例做旅游网站平台合作入驻
  • 宣武青岛网站建设专业设计网站排行榜
  • 做网站项目需要多少钱深圳做网站费用
  • 移动网站建设规定如何建设视频资源电影网站
  • ftp网站 免费专门做网站的公司
  • 泉州自助建站郑州网站建
  • 域名备案网站备案查询天津seo培训哪家好
  • 网站建设吉金手指专业15云数据库安装wordpress