1.SpringBoot快速入门
创建基础项目
1、创建一个新项目选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现
2、填写项目信息
3、选择初始化的组件
4、填写项目路径
5、等待项目构建成功
项目结构
主程序
package com.springboots.boot01hello; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; //@SpringBootApplication:标注这是SpringBoot的启动类(主程序类),该注解具备多种功能,并告诉Spring boot这是一个SpringBoot应用 @SpringBootApplication public class Boot01HelloApplication { public static void main(String[] args) { //将SpringBoot应用启动 //代表运行SpringBoot的启动类,参数为SpringBoot启动类的字节码对象,和main方法的参数 SpringApplication.run(Boot01HelloApplication.class, args); } }
配置文件
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。简化了配置,将所有的配置抽取到了一个配置文件中,如:修改tomcat访问端口
编写业务
根编写Spring一样
package com.springboots.boot01hello.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/hello") public String hello(){ return "Hello Spring Boot"; } }
@RestController与@Controller的区别
@RestController:返回的是数据
@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,使用@RestController注解返回json数据不需要在方法前面加@ResponseBody注解了, 但使用@RestController这个注解,就不能返回jsp,html页面
@Controller:返回的是视图
这时候就有疑问了,那我到底是用@RestController这个注解,还是用@Controller这个注解,如果是前后端分离,就使用@RestController这个注解,后端返回数据,前端去得到后端返回的数据,达到前后端分离,如果不是前后端分,就使用@Controller这个注解
包和类的规则
项目的包和类,要在主程序的同级目录下,一定要在同级目录下,否则识别不到
测试
执行SpringBoot的主程序类的主方法,控制台打印日志如下:
通过日志发现,Tomcat started on port(s): 8000 (http) with context path ''
tomcat已经起步,端口监听8000,web应用的虚拟工程名称为空
打开浏览器访问url地址为:http://localhost:8000/hello
SpringBoot工程热部署
我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间,我们可以在修改代码后不重启就能生效,在 pom.xml 中添加如下配置就可以实现这样的功能,我们称之为热部署。
<!--热部署配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
注意:IDEA进行SpringBoot热部署失败原因
出现这种情况,并不是热部署配置问题,其根本原因是因为Intellij IEDA默认情况下不会自动编译,需要对IDEA进行自动编译的设置,如下:
然后 Shift+Ctrl+Alt+/,选择Registry