spring读取 application.properties
时间: 2023-09-05 22:13:49 浏览: 37
在 Spring 中,可以通过 `@Value` 注解来读取配置文件中的属性。但是如果属性很多,一个个用 `@Value` 注解来读取会很麻烦。因此,Spring 提供了一个更便捷的方式来读取属性,那就是使用 `@ConfigurationProperties` 注解。
`@ConfigurationProperties` 注解可以将配置文件中的属性映射到一个 Java 类中,然后通过 `@Autowired` 注入这个类来使用其中的属性。具体步骤如下:
1. 定义一个 Java 类,类中的属性名称需要与 application.properties 文件中的属性名称一致,并且需要提供相应的 getter 和 setter 方法。
```java
@ConfigurationProperties(prefix = "example")
public class ExampleProperties {
private String name;
private int age;
// getter 和 setter 方法
}
```
2. 在 application.properties 文件中定义属性。
```
example.name=张三
example.age=18
```
3. 在 Spring 配置类中使用 `@EnableConfigurationProperties` 注解开启属性配置功能,并将上面定义的 `ExampleProperties` 类注入到 Spring 容器中。
```java
@Configuration
@EnableConfigurationProperties(ExampleProperties.class)
public class AppConfig {
@Autowired
private ExampleProperties exampleProperties;
// 其他配置
}
```
4. 在需要使用属性的地方注入 `ExampleProperties` 类,并使用其中的属性。
```java
@Service
public class ExampleService {
@Autowired
private ExampleProperties exampleProperties;
public void printProperties() {
System.out.println("name: " + exampleProperties.getName());
System.out.println("age: " + exampleProperties.getAge());
}
}
```
这样就可以方便地读取配置文件中的属性了。