springboot快速入门
创建一个Maven工程
不使用框架,创建一个Maven工程:springboot_quick
添加SpringBoot的起步依赖
SpringBoot要求,项目要继承SpringBoot的起步依赖spring-boot-starter-parent
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent>
SpringBoot要集成SpringMVC进行Controller的开发,所以项目要导入web的启动依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
spring-boot-starter-web就是将web开发要使用的 spring-web、spring-webmvc等坐标进行了“打包”,这样我们的工程只要引入spring-boot-starter-web起步依赖的坐标就可以进行web开发了,体现了依赖传递的作用。
编写SpringBoot引导类
要通过SpringBoot提供的引导类起步SpringBoot才可以进行访问
//声明该类是一个springboot引导类 @SpringBootApplication public class MySpringBootApplication { public static void main(String[] args) { //run方法 表示运行springboot的引导类 run参数就是springboot引导类的字节码对象 SpringApplication.run(MySpringBootApplication.class); } }
编写Controller
在引导类MySpringBootApplication同级包或者子级包中创建QuickStartController
@Controller public class QuickController { @RequestMapping("/quick") @ResponseBody public String quick(){ return "hello springboot"; } } @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,
通常用来返回JSON数据或者是XML数据。注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通
过response对象输出指定格式的数据。
测试
执行SpringBoot引导类MySpringBootApplication的主方法,控制台打印日志如下:
通过日志可以发现,tomcat已经起步,端口为8080, web应用的虚拟工程名称为空,如下:
打开浏览器访问url地址为:http://localhost:8080/quick
SpringBoot工程热部署
我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大 量的时间,我们可以在修改代码后不重启就能生效,在 pom.xml 中添加如下配置就可以实现这样的功能,我们称之为热部署。
<!--热部署配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
注意:IDEA进行SpringBoot热部署失败原因
出现这种情况,并不是热部署配置问题,其根本原因是因为Intellij IEDA默认情况下不会自动编译,需要对IDEA进行自动编译的设置,如下:
然后 Shift+Ctrl+Alt+/,选择Registry
使用idea快速创建SpringBoot项目
创建完成后,会自动生成 SpringbootQuick2Application 启动类,无需我们手动生成。
pom.xml文件会自动加入springboot起步依赖和我们选择的web的起步依赖:
创建Controller进行访问,此处不再赘述