SpringBoot中的Properties的使用详解
什么是Properties
Properties
是Java中处理属性文件的一个类。在SpringBoot中,我们可以使用application.properties
或application.yml
作为配置文件,来替代传统的XML配置文件,来配置服务器的相关信息。
application.properties
application.properties
是SpringBoot项目中默认的配置文件,所有的配置信息都可以在此文件中进行配置。以下是一些常用的属性配置示例:
- 配置服务器端口号:
# 配置服务器端口号, 默认端口是8080
server.port=8081
- 配置应用程序上下文路径:
# 配置应用程序上下文路径, 默认值是/
server.servlet.context-path=/example
- 配置数据库连接信息:
# 配置数据库连接信息
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
application.yml
与application.properties
类似,application.yml
也是SpringBoot项目中常用的配置文件。YAML语法是一种简明的标记语言,在SpringBoot中,使用YAML作为配置文件,配置信息更加清晰明了。以下是一些常用的属性配置示例:
- 利用YAML配置嵌套属性:
# 配置主机信息
server:
port: 8082
servlet:
context-path: /example
# 配置数据库连接信息
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
password: root
- 利用YAML配置数组:
my:
servers:
- dev.example.com
- staging.example.com
- production.example.com
示例一
以下示例是一个基于SpringBoot的简单Web应用程序,使用的是application.properties
配置文件。此应用程序采用Thymeleaf模板引擎,展示了一些简单的HTML页面。
# 配置服务器端口号
server.port=8083
# 配置应用程序上下文路径
server.servlet.context-path=/demo
# 配置Thymeleaf模板目录
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
使用的Controller代码如下:
@Controller
public class IndexController {
@GetMapping("/")
public String index(){
return "index";
}
}
Index页面的代码如下:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<title>SpringBoot index page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
在浏览器中访问http://localhost:8083/demo/
,即可看到Hello World页面。
示例二
以下示例是基于SpringBoot的简单Web应用程序,使用的是application.yml
配置文件。此应用程序展示了如何在SpringBoot中配置中间件(如Redis)。
# 配置Redis服务器信息
spring:
redis:
host: localhost
port: 6379
password: root
使用的Service代码如下:
@Service
public class RedisService {
@Autowired
private StringRedisTemplate stringRedisTemplate;
public void save(String key, String value){
stringRedisTemplate.opsForValue().set(key, value);
}
public String get(String key){
return stringRedisTemplate.opsForValue().get(key);
}
}
在Controller中调用这个Service:
@RestController
@RequestMapping("/redis")
public class RedisController {
@Autowired
private RedisService redisService;
@GetMapping("/{key}/{value}")
public String save(@PathVariable("key") String key, @PathVariable("value") String value){
redisService.save(key, value);
return "Saved";
}
@GetMapping("/{key}")
public String get(@PathVariable("key") String key){
return redisService.get(key);
}
}
使用请求http://localhost:8080/redis/name/hemingway
保存一个名为name
,值为hemingway
的String对象到Redis中,使用请求http://localhost:8080/redis/name
获取Redis中存储的值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot中的Properties的使用详解 - Python技术站