@Value("#{'${area.city-list}'.split(',')}") 详解
时间: 2024-01-10 07:02:13 浏览: 17
这是一个 Spring Framework 中使用 SpEL(Spring Expression Language)表达式的示例。该表达式的含义是将配置文件中的以逗号分隔的城市列表读取到一个字符串数组中。
具体地说,该表达式使用了 SpEL 中的 #{} 语法,表示里面的内容是一个表达式。表达式的内容是 '${area.city-list}'.split(','),其中 '${area.city-list}' 表示读取配置文件中的名为 'area.city-list' 的属性值,而 '.split(",")' 表示将该属性值按照逗号分隔为一个字符串数组。
最终,该表达式将通过 @Value 注解注入到一个字符串数组类型的变量中。例如:
```
@Value("#{'${area.city-list}'.split(',')}")
private String[] cities;
```
如果配置文件中的 'area.city-list' 属性值为 "Shanghai,Beijing,Guangzhou",则 cities 变量将被注入为一个包含三个元素的字符串数组:["Shanghai", "Beijing", "Guangzhou"]。
相关问题
@Value("${sys.user.init-password:leaseyuanma}")里面的参数去哪里找
`@Value("${sys.user.init-password:leaseyuanma}")` 中的参数 `${sys.user.init-password}` 是从 Spring Boot 的配置文件中读取的,其中 `${}` 包含的是配置项的名称,冒号后面的是默认值。
通常情况下,Spring Boot 的配置文件是 `application.properties` 或者 `application.yml`,可以在其中添加自定义的配置项。比如,在 `application.properties` 中添加一个配置项:
```
sys.user.init-password=123456
```
这样,就可以通过 `@Value("${sys.user.init-password}")` 来获取配置项的值了。如果配置项不存在,则会使用冒号后面的默认值,即 `leaseyuanma`。
value=value.replace(/[^\d.-]/g,'').replace(/^\./g,'').replace(/\.{2,}/g,'.').replace('.', '$#$').replace(/\./g, '').replace('$#$','.').replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/,'$1$2.$3').replace(/\-{2,}/g,'-').replace('-', '$#$').replace(/\-/g, '').replace('$#$','-') 保留小数点前6位
这是一个JavaScript代码,作用是将字符串中的非数字、非小数点、非负号字符替换为空字符串,然后将开头的小数点替换为空字符串,将连续的小数点替换为一个小数点,最后将第一个小数点替换为"$"符号。
例如,如果value为"12.3a4-5.6",则经过这段代码处理后,value变为"12.34-5.6"。