springboot读取文件
时间: 2023-10-13 11:04:17 浏览: 117
解决SpringBoot jar包中的文件读取问题实现
5星 · 资源好评率100%
Spring Boot 提供了多种方式来读取配置文件。其中一种方式是使用 @PropertySource 注解。通过在应用程序的主类上添加 @PropertySource 注解,并指定要读取的配置文件路径,可以实现读取配置文件的功能。具体代码如下:
```java
@SpringBootApplication
@PropertySource("classpath:application.properties")
public class DemoApplication implements InitializingBean {
@Value("${profile.name}")
private String name;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("Name:" + name);
}
}
```
另一种方式是使用 Properties 对象来读取配置文件。可以通过创建一个 Properties 对象,使用其 load 方法来加载配置文件,然后通过 get 方法获取配置项的值。具体代码如下:
```java
@SpringBootApplication
public class DemoApplication implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
Properties props = new Properties();
try {
InputStreamReader inputStreamReader = new InputStreamReader(
this.getClass().getClassLoader().getResourceAsStream("application.properties"),
StandardCharsets.UTF_8);
props.load(inputStreamReader);
} catch (IOException e1) {
System.out.println(e1);
}
System.out.println("Properties Name:" + props.getProperty("profile.name"));
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
还可以使用 Environment 类来读取配置文件。可以通过在类中注入 Environment 对象,然后使用其 getProperty 方法来获取配置项的值。具体代码如下:
```java
@SpringBootApplication
public class DemoApplication implements InitializingBean {
@Autowired
private Environment environment;
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("Profile Name:" + environment.getProperty("profile.name"));
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
以上是 Spring Boot 读取配置文件的几种方式。可以根据实际情况选择适合的方式来读取配置文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [SpringBoot 读取配置文件的 5 种方法!](https://blog.csdn.net/m0_71777195/article/details/126419460)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文