1. 简介
Spring Boot 是由Pivotal团队提供的基于Spring的全新框架,其设计目的是简化Spring应用的搭建和开发过程。该框架遵循“约定大于配置”原则,采用特定的方式进行配置,从而使开发者无需进行大量的XML配置。Spring Boot 致力于成为蓬勃发展的快速应用开发领域的领导者。 Spring Boot带给了我们全新的应用部署方案,通过它可以很方便的创建独立的、生产级的基于Spring的应用程序。同时,通过Spring平台和第三方库可以轻松构件视图。 Spring Boot 默认集成了Tomcat,因此我们可以编译成jar包,通过Java命令启动应用,大多数Spring Boot应用程序只需很少的Spring配置。
Tips
- 我们可以在springboot 中使用springmvc的注解(如@Controller、@ResponseBody、@ResquestMapping),是因为我们添加的依赖spring-boot-starter-web,该依赖集成了springmvc。
- @RequestMapping 注解的作用是定义一个Http请求地址,默认不限定请求方式,可以是GET、POST异或其他方法,如果要限定请求方法,可以在注解后面增加method属性(如:
@RequestMapping(value="hello",method=RequestMethod.GET)
2. YAML文件配置
YAML格式非常严格。冒号后面必须有一个空格。子属性之间需要通过两个空格分隔。 示例
server:
servlet:
# 上下文路径
content-path: /demo
# 端口号
port: 8081
多环境配置
- 每次打包前手动修改。 (不建议)
- 利用maven,在pom.xml里配置多个环境,每次编译之前将setting.xml修改成当前要编译的环境ID。(不建议)
- 针对不同的环境创建不同的配置文件。 3.1 通过配置文件指定具体的配置文件。 3.2 通过启动命令指定。 application.yml 文件添加:
spring:
profiles:
active: dev
添加application-dev.yml:
server:
port: 8082
启动命令:
java -jar XXX.jar --spring.profiles.active=pro
注: springboot的配置加载有优先级。上述命令中的配置最优先,所以最后采用的是 application-pro.yml 配置文件。
3. 常用注解
@SpringBootApplication 在启动类中加入@SpringBootApplication,就可以告诉Spring Boot这个类是工程的入口。 此注解是必须添加的,不然启动报错。 此注解由@EnableAutoConfiguration、@SpringBootConfiguration、@ComponentScan组成,可以用这三个注解进行替换。 @SpringBootConfiguration 加入@SpringBootConfiguration的注解会被认为是Spring Boot的配置类。Spring Boot的配置可以在application.yml中配置,也可以在类中(代码中)进行配置。在代码中配置的优先级更高。 Spring Boot应用启动后,先加载配置文件,再执行被@SpringBootConfiguration注解标注的类。 @Configuration注解与@SpringBootConfiguration效果一致,但Spring Boot官方推荐采用@SpringBootConfiguration。 @Bean 方法级别的注解。类似于Spring Xml中的。可以用一个@Bean注解将一个对象加入Spring容器中。 @Value 可以获取YAML文件中的任何属性值。
@Value("${server.port}")
private int port;
@Controller与@RestController @RestController是@Controller与@ResponseBody的结合体。标注为@RestController的Controller中的springmvc的视图解析器(ViewResolver)将不起作用,也就是我们没法返回视图即页面。