目录
1、什么是Spring boot?
2、Spring Boot特性:
3、springboot之helloworld:
1、设置新建项目的父工程:
2、引入springboot相关依赖包并设置字符集和jdk版本:
3、新建一个controller
4、新建一个启动类
5、测试运行:
4、修改原有的springboot的Jackson为fastjson
1、引入fastjson的依赖:
2、在springboot项目的我们自己新建的启动类中添加如下方法:
5、Spring Boot热部署(IntelliJ IDEA 环境下)
1、在pom文件中引入相关依赖和编译插件
2、引入项目构建插件:
3、设置自己的ide,我使用的是IntelliJ IDEA
1、file->setting->build,Execution,Deployment->Compiler中的Build project automatically打对勾
2、Ctrl+Alt+Shift+/,选择第一个Registry,从里面选择compiler.automake,allow.when.app.running打对勾
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
官网地址:https://spring.io/projects/spring-boot#learn
本文代码地址:https://download.csdn.net/download/m0_37985112/10688776
1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6.开箱即用,没有代码生成,也无需XML配置。
org.springframework.boot spring-boot-starter-parent 1.4.1.RELEASE
之所以将新建项目的父工程设置成spring-boot-starter-parent,是为了后面我们引入springboot 相关包的时候就可以不用设置版本号,
新建项目的打包方式是jar包。
UTF-8 1.8 org.springframework.boot spring-boot-starter-web
新建的controller的类注解使用:@RestController,这个注解等价于@Controller和 @RequestBody。
在新建的controller中新建如下的测试方法:
/** * 在这里我们使用@RequestMapping 建立请求映射: * @return */ @RequestMapping("/hello") public String hello(){ return "hello-2018-9-26"; }
新建一个普通的java类,其类注解是:@SpringBootApplication
并且新建一个main方法,如下所示:
public static void main(String[] args) { /* * 在main方法进行启动我们的应用程序. * App.class是启动类的class */ SpringApplication.run(App.class, args); }
直接运行(4、新建一个启动类)中新建的启动类的main方法。
在浏览器访问http://127.0.0.1:8080/hello,如果页面响应:hello-2018-9-26 ,就已经ok了。
springboot自带的json解析器是jsckson,如果更习惯使用阿里的fastjson,可以进行如下两步操作。
com.alibaba fastjson 1.2.15
/** * 在这里我们使用 @Bean注入 fastJsonHttpMessageConvert * @return */ @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { // 1、需要先定义一个 convert 转换消息的对象; FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); //2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据; FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); //3、在convert中添加配置信息. fastConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter> converter = fastConverter; return new HttpMessageConverters(converter); }
在IntelliJ IDEA中实现springboot项目的热部署,需要做如下三大步骤:
org.springframework.boot spring-boot-devtools true true
此依赖的作用:
1、spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间。
2、其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader
3、这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)。
org.springframework.boot spring-boot-maven-plugin true