一,项目实例
1、前提说明
- 本次改造的项目是 user-service
2、pom.xml 文件中,增加 web 依赖
创建API接口时,会使用@RestController注解,使用该注解需要依赖 spring-boot-starter-web
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3、application.yml 配置文件中,增加“自定义的配置参数:developer”
【遗留问题】Spring boot 默认只扫描“application.*” 的配置文件,此处是否如此,待确认。
spring:
application:
name: user-service
server:
port: 8081
#自定义的配置参数
developer:
id: OHZ
name: 平凡英雄
desc: 一位热爱技术的开发者。因为热爱,所以无所畏惧。
4、新建封装配置参数的Java bean :Developer.java
Java bean 上,要加以下注解:
- @Component:表明当前类是一个 Java Bean
- @ConfigurationProperties(prefix = “developer”):表示获取配置文件中前缀为 “developer” 的配置信息,并将它的值赋值给Developer.java对象的对应属性上。
package com.ohz.user.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "developer")
public class Developer {
private String id;
private String name;
private String desc;
}
5、使用 @RestController 注解,新建一个API接口。由Spring 将 Developer 类的对象,自动注入到HelloWorldController对象中。
import com.ohz.user.config.Developer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/ohz")
public class HelloWorldController {
@Autowired
private Developer developer;
@GetMapping("/helloWorld")
public String helloWorld() {
return "id : " + developer.getId()
+ ", name : " +developer.getName()
+ ", desc : " + developer.getDesc();
}
}