刚开始知道Spring Boot的时候,只是大概知道它是一个更快更方便的工具。Spring Boot让咱们的Spring应用变的更轻量化。好比:你能够仅仅依靠一个Java类来运行一个Spring应用。你也能够打包你的应用为jar并经过使用java -jar来运行你的Spring Web应用。html
SpringBoot 是一个快速开发的框架,可以快速的整合第三方框架,简化XML配置,所有采用注解形式,内置Tomcat容器,帮助开发者可以实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。SpringMVC是控制层。前端
Java1.8及以上
Spring Framework 4.1.5及以上
Spring Boot 2.0java
SpringBoot 是一个快速开发的框架,可以快速的整合第三方框架,简化XML配置,所有采用注解形式,内置WEB容器,帮助开发者可以实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。SpringMVC是控制层。web
SpringCloud依赖与SpringBoot组件,使用SpringMVC编写Http协议接口,同时SpringCloud是一套完整的微服务解决框架。spring
名为”springboot” 类型为Jar工程项目。json
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
</dependency>
2.0.0.RELEASE
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>后端
spring-boot-starter-parent做用
在pom.xml中引入spring-boot-start-parent,spring官方的解释叫什么stater poms,它能够提供dependency management,也就是说依赖管理,引入之后在申明其它dependency的时候就不须要version了,后面能够看到。
spring-boot-starter-web做用
springweb 核心组件
spring-boot-maven-plugin做用
若是咱们要直接Main启动spring,那么如下plugin必需要添加,不然是没法启动的。若是使用maven 的spring-boot:run的话是不须要此配置的。(我在测试的时候,若是不配置下面的plugin也是直接在Main中运行的。)浏览器
建立HelloController类,内容以下:springboot
@RestControllerbr/>@EnableAutoConfiguration
public class HelloController {app
@RequestMapping("/hello") public String index() { return "Hello World"; } public static void main(String[] args) { SpringApplication.run(HelloController.class, args); }
}
加上RestController 表示修饰该Controller全部的方法返回JSON格式,直接能够编写Restful接口
注解:做用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置
这个注解告诉Spring Boot根据添加的jar依赖猜想你想如何配置Spring。因为spring-boot-starter-web添加了Tomcat和Spring MVC,因此auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
SpringApplication.run(HelloController.class, args);
标识为启动类
启动主程序,打开浏览器访问http://localhost:8080/index
能够看到页面输出Hello World
---- 控制器扫包范围
@ComponentScan(basePackages = "com.guahao.controller")
@EnableAutoConfiguration
public class App {
public static void main(String[] args) { SpringApplication.run(App.class, args); }
}
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解
扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下全部的类均可以扫到。
在以前的示例中,咱们都是经过@RestController来处理请求,因此返回的内容为json对象。那么若是须要渲染html页面的时候,要如何实现呢?--模板引擎--在动态HTML实现上Spring Boot依然能够完美胜任,而且提供了多种模板引擎的默认配置支持,因此在推荐的模板引擎下,咱们能够很快的上手开发动态网站。
Spring Boot提供了默认配置的模板引擎主要有如下几种:
• Thymeleaf
• FreeMarker
• Velocity
• Groovy
• Mustache
Spring Boot建议使用这些模板引擎,避免使用JSP,若必定要使用JSP将没法实现Spring Boot的多种特性,具体可见后文:支持JSP的配置
当你使用上述模板引擎中的任何一个,它们默认的模板配置路径为:src/main/resources/templates。固然也能够修改这个路径,具体如何修改,可在后续各模板引擎的配置属性中查询并修改。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
在src/main/resources/建立一个templates文件夹,后缀为*.ftl。
@RequestMapping("/index")
public String index(Map map) {
map.put("name","美丽的天使...");
return "index";
}
<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8" /><title></title></head><body>${name}</body> </html>