Spring Boot的几个注解意义及添加热部署(增量更新)
- 几个注解的意义
这里的所有的注解,除了@SpringBootApplication这个注解以外,都来于spring或者spring mvc
@RestController:
包含两个功能@Controller和@ResponseBody
@EnableAutoConfiguration:
spring-boot-starter-web这个maven包中添加了Tomcat和Spring MVC,所以当类头文件定义为@EnableAutoConfiguration的时候, spring boot会知道这是在开发一个web应用程序
@SpringBootApplication:
包含三个功能
(1)@Configuration:表明该类使用基于Java的配置,将此类作为配置类
(2)@ComponentScan:启用注解扫描(默认扫描当前Main方法所在的包)
(3)@EnableAutoConfiguration:开启springboot的自动配置功能
@RestController和@Controller的区别
(1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容,所以相当于包含了@ResponseBody注解。
(2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
- SpringBoot添加热部署(增量更新)
PS:首先需要注意的是,在idea中,大部分场景下,增量更新只适用于debug模式,所以在项目开发过程中,建议全程使用debug运行测试项目。
在pom.xml文件中添加maven包
org.springframework.boot spring-boot-devtools2.3.8.RELEASE
加入此maven包之后,可以支持修改页面,然后马上访问,不用再重新启动
修改启动项为下面的效果:
两个代表不同的效果,第一个是在点击更新时,是增量更新,第二个是代表在切换windows窗口时,自动增量更新,第二个选项对于电脑性能有一定要求,因为每次切换界面,都会自动增量更新,不管是否改动过代码。
这种方式同样适用于SSM项目,但是功能有所限制。
额外在application.properties文件中可添加:
#配置项目热部署 spring.devtools.restart.enabled=true
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)