Web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello,this is my first SpringBoot Web Project!";
}
}
热部署
Ctrl+F9 编译
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
配置文件
实际项目中,建议和部署环境无关的配置信息,独立提取出来,不要混在一起
自定义属性application.yml
book:
name: SpringBoot2学习
author: ddwang
@Value("${book.name}")
private String bookerName;
@Value("${book.author}")
private String bookAuthor;
配置自定义属性对象
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component;
@Data // 如果注释 类没有属性设置方法,yml配置无法自动设置
@EnableConfigurationProperties(BookConfigBean.class )
@ConfigurationProperties(value=BookConfigBean.PREFIX)
@Component
public class BookConfigBean {
public static final String PREFIX = "book";
private String name = "SpringBoot 实战";
private String author = "ddwang";
}
增加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
target/classes/META-INF
spring-configuration-metadata.json
spring-boot-configuration-processor 可以将字段配置上默认值之后会自动的被处理到metadata中,转换后查看内容如下
还可以查看配置的默认值
{
"groups": [
{
"name": "book",
"type": "com.example.learnspringboot.config.BookConfigBean",
"sourceType": "com.example.learnspringboot.config.BookConfigBean"
}
],
"properties": [
{
"name": "book.author",
"type": "java.lang.String",
"sourceType": "com.example.learnspringboot.config.BookConfigBean",
"defaultValue": "ddwang"
},
{
"name": "book.name",
"type": "java.lang.String",
"sourceType": "com.example.learnspringboot.config.BookConfigBean",
"defaultValue": "SpringBoot 实战"
}
],
"hints": []
}
多环境配置
application-dev.yml 开发环境
application-test.yml 测试环境
application-prod.yml 生产环境
spring:
profiles:
active: dev # 这里可以通过参数的方式配置我记得
自定义配置文件
# ownconfig.properties vedio.host = 127.0.0.1 vedio.username = admin vedio.password = 123456
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource(value="classpath:ownconfig.properties")
@ConfigurationProperties(prefix="vedio")
@Data // set get 方法不可少
public class OwnConfigBean {
private String host;
private String username;
private String password;
}