spring @Value 用法
时间: 2023-07-12 12:31:46 浏览: 112
`@Value` 是 Spring 框架中的一个注解,用于从配置文件中获取值并注入到对应的属性中。其使用方式如下:
1. 在需要注入值的属性上添加 `@Value` 注解。
2. 在 `@Value` 注解中指定属性对应的配置文件中的键值,例如 `@Value("${jdbc.url}")`。
3. 在 Spring 配置文件中定义对应的键值对,例如 `jdbc.url=jdbc:mysql://localhost:3306/test`。
示例代码如下:
```java
@Component
public class MyComponent {
@Value("${myapp.title}")
private String appTitle;
public String getAppTitle() {
return appTitle;
}
public void setAppTitle(String appTitle) {
this.appTitle = appTitle;
}
}
```
在上面的代码中,`@Value("${myapp.title}")` 表示从配置文件中获取名为 `myapp.title` 的属性值,并将其注入到 `appTitle` 属性中。在 Spring 配置文件中,可以定义如下键值对:
```yaml
myapp.title: "My Application"
```
在这个例子中,`appTitle` 属性将被注入值 `"My Application"`。
另外,`@Value` 注解还支持 SpEL 表达式,可以在注解中使用表达式来计算属性值。例如:
```java
@Value("#{T(java.lang.Math).PI}")
private double pi;
```
在这个例子中,属性将被注入值 `3.141592653589793`,这是通过 SpEL 表达式 `#{T(java.lang.Math).PI}` 计算得出的。
阅读全文