1· 官方Demo
POM中添加对SpringBoot的支持
<!-- Spring boot的项目必须要将parent设置为spring boot的parent, 该parent包含了大量默认的配置,比如定义的Spring的版本号等大大简化了我们的开发。 -->
<parent>
<!-- 导入spring boot的web支持 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<dependencies>
<!-- 对WEB的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 插件 -->
<build>
<finalName>Spring-Boot02</finalName>
<plugins>
<!-- Spring boot的插件 可有可无,添加了的话,可用maven启动-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
测试方法:
@Controller
@SpringBootApplication//说明是SpringBoot应用
@Configuration//说明这个类是一个配置类
public class HelloApplication {
@RequestMapping("hello")
@ResponseBody
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
注解说明:
1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;
2、@Configuration:这是一个配置Spring的配置类;
3、@Controller:标明这是一个SpringMVC的Controller控制器;
按启动正常的main方法一起启动。
2 SpringBoot是一个大杂烩,继承了很多技术,当启动的时候,检测到相关的jar包时,会自动配置。
Spring支持的自动配置如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hPsmTjn4-1614670184318)(https://img-blog.csdn.net/20171118001443094?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQnRXYW5nWmhp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
如果不想自动配置相关的技术,可在启动的类添加的注解@SpringBootApplication上添加:(exclude={RedisAutoConfiguration.class}),表示不需要SpringBoot来帮助完成自动配置。
2 全局配置文件
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。
application.properties添加如下:
server.port=8088
执行结果:
成功的更改了端口。
配置文件映射为map
auth:
# 生成的token默认有效期为两天
token-expire: 172800
external-cust-config:
"[aaaa@qq.com]": '{"accessKey":"111","expireTime":4075286400000}'
对应的配置
@Data
@Component
@ConfigurationProperties(prefix = "auth", ignoreInvalidFields = true, ignoreUnknownFields = true)
public class AuthProperties {
/**
* token有效期
*/
private Long tokenExpire;
/**
* 鉴权接口
*/
private String authUrl = "/auth/tokenAuth";
private Map<String,String> externalCustConfig=new HashMap<>();
}
需要注意用特殊字符如上的@字符作为key,需要用"[]"包裹,不然会映射出现问题。