SpringBoot读取properties文件配置项过程解析
在SpringBoot中,我们可以通过 .properties
文件来配置应用的相关参数,这些配置项可以用来设置一些基本的参数,比如应用所使用的数据库信息、日志级别、端口号等等。
配置文件位置
在SpringBoot应用程序中,配置文件的位置默认情况下是在 src/main/resources
目录下,如果需要自定义配置文件的位置,可以通过 spring.config.location
来指定,多个配置文件之间可以使用逗号分隔。
存储配置项
在 src/main/resources
下可以创建一个名为 application.properties
的文件,在这个文件中,我们可以定义一些需要被应用程序读取的配置项,例如:
# 设置应用的端口号
server.port=8080
# 设置数据库相关信息
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 设置日志级别
logging.level.org.springframework=info
logging.file=myapp.log
读取配置项
在SpringBoot应用程序中,可以通过将 @Value
注解添加到需要使用的变量上来获取配置项的值。
示例1:获取应用的端口号
@RestController
public class HelloController {
@Value("${server.port}")
private String port;
@GetMapping("/")
public String hello() {
return "Hello, the application is running on port " + port;
}
}
示例2:获取数据库URL
@Service
public class MyClassService {
@Value("${spring.datasource.url}")
private String dbUrl;
public void doSomething() {
// Use dbUrl here
}
}
通过 @Value
注解获取配置项的值时,使用 ${property.name}
来指定需要读取的配置项,例如 ${server.port}
和 ${spring.datasource.url}
。
另外,还可以在应用程序中通过 Environment
对象来获取配置项的值,代码示例如下:
@SpringBootApplication
public class Application implements CommandLineRunner {
@Autowired
private Environment environment;
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println("server.port: " + environment.getProperty("server.port"));
System.out.println("spring.datasource.url: " + environment.getProperty("spring.datasource.url"));
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot读取properties文件配置项过程解析 - Python技术站