SpringBoot使用yml格式进行配置的方法
在SpringBoot中,我们可以使用yml格式来进行配置。yml格式相比于properties格式更加简洁易读,可以提高配置文件的可维护性。本文将详细讲解SpringBoot使用yml格式进行配置的方法,并提供两个示例。
1. yml格式基本语法
yml格式使用缩进来表示层级关系,使用冒号来表示键值对。以下是yml格式的基本语法:
key1: value1
key2:
key3: value3
key4: value4
key5:
- value5
- value6
在上面的代码中,我们使用冒号来表示键值对,使用缩进来表示层级关系。其中,key2和key5是一个对象和一个数组。
2. 示例1:使用yml格式配置SpringBoot应用程序
以下是一个使用yml格式配置SpringBoot应用程序的示例:
-
在Idea中,创建一个名为HelloWorld的SpringBoot项目。
-
在src/main/resources目录下,创建一个名为application.yml的文件,并添加以下内容:
server:
port: 8080
spring:
application:
name: helloworld
在上面的代码中,我们使用yml格式来配置SpringBoot应用程序的端口和应用程序名称。
- 在HelloWorldApplication类中添加以下代码:
@RestController
@SpringBootApplication
public class HelloWorldApplication {
@Value("${spring.application.name}")
private String appName;
@GetMapping("/hello")
public String hello() {
return "Hello, " + appName + "!";
}
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class, args);
}
}
在上面的代码中,我们使用@Value注解来获取应用程序名称,并在hello方法中使用它来输出欢迎信息。
- 在Idea中,启动SpringBoot项目,并访问http://localhost:8080/hello,即可看到以下输出:
Hello, helloworld!
3. 示例2:使用yml格式配置SpringBoot数据源
以下是一个使用yml格式配置SpringBoot数据源的示例:
-
在Idea中,创建一个名为mybatis-demo的SpringBoot项目。
-
在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
在上面的代码中,我们添加了SpringBoot JDBC、H2数据库和MyBatis Starter依赖。
- 在src/main/resources目录下,创建一个名为application.yml的文件,并添加以下内容:
spring:
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:
在上面的代码中,我们使用yml格式来配置H2数据库的连接信息。
- 在mybatis-demo项目中,创建一个名为User的实体类,并添加以下代码:
public class User {
private Long id;
private String name;
private Integer age;
// getter and setter
}
在上面的代码中,我们创建了一个名为User的实体类,并添加了id、name和age三个属性。
- 在mybatis-demo项目中,创建一个名为UserMapper的Mapper接口,并添加以下代码:
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
void insert(User user);
}
在上面的代码中,我们创建了一个名为UserMapper的Mapper接口,并添加了findById和insert两个方法。
- 在mybatis-demo项目中,创建一个名为UserService的服务类,并添加以下代码:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User findById(Long id) {
return userMapper.findById(id);
}
public void insert(User user) {
userMapper.insert(user);
}
}
在上面的代码中,我们创建了一个名为UserService的服务类,并注入了UserMapper。我们在findById和insert方法中使用UserMapper来操作数据库。
- 在mybatis-demo项目中,创建一个名为MybatisDemoApplication的SpringBoot应用程序,并添加以下代码:
@RestController
@SpringBootApplication
public class MybatisDemoApplication {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User findById(@PathVariable Long id) {
return userService.findById(id);
}
@PostMapping("/user")
public void insert(@RequestBody User user) {
userService.insert(user);
}
public static void main(String[] args) {
SpringApplication.run(MybatisDemoApplication.class, args);
}
}
在上面的代码中,我们创建了一个名为MybatisDemoApplication的SpringBoot应用程序,并注入了UserService。我们在findById和insert方法中使用UserService来操作数据库。
- 在Idea中,启动SpringBoot项目,并使用Postman或其他工具访问http://localhost:8080/user/1,即可看到以下输出:
{
"id": 1,
"name": "Alice",
"age": 20
}
- 在Idea中,使用Postman或其他工具向http://localhost:8080/user发送POST请求,并在请求体中添加以下内容:
{
"name": "Bob",
"age": 30
}
在上面的代码中,我们向数据库中插入了一条记录。
4. 总结
本文详细讲解了SpringBoot使用yml格式进行配置的方法,并提供了两个示例。在使用这些技术时,我们应根据实际需求选择合适的方式,并合理配置yml文件的内容,以便于管理和维护。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot使用yml格式进行配置的方法 - Python技术站