SpringBoot的作用
[SpringBoot是什么?SpringBoot的优缺点有哪些?]( SpringBoot是什么?SpringBoot的优缺点有哪些? (biancheng.net) )
核心功能
-
独立运行的Spring项目
- SpringBoot可以以jar包的形式独立运行,运行一个springboot项目只需要通过Java-jar xx.jar来运行.
-
内嵌Servlet容器
- SpringBoot可以选择内嵌Tomcat / Jetty / Undertow, 这样可以以war包的形式部署项目.
-
提供starter简化的Maven配置
- SpringBoot提供了一系列的statter pom 来简化Maven的依赖加载,在pom文件中写入相关依赖就可以自动导入所需要的jar包.
-
自动配置Spring
- SpringBoot会根据类路径中的jar包/类,为jar包里的类自动配置Bean,这样减少了我们的配置,SpringBoot只是考虑了大多数的开发场景,而不是所有场景,在实际开发中还是需要手动配置Bean.
-
监控
- SpringBoot提供基于http / ssh / telnet对运行时的项目进行监控.
-
SpringBoot注解
- SpringBoot不需要任何xml配置即可实现Spring中的所有配置.
SpringBoot的优点:
- 快速构建项目
- 对主流开发框架的无配置集成
- 项目独立运行,内嵌Servlet容器,无需依赖外部Servlet
- 提供运行时的应用监控
- 极大的提高了开发 , 部署xiaolv
- 与云计算天然集成
SpringBoot的缺点:
- 版本迭代速度快,一些模块改动很大
- 由于很多东西无需手动配置,报错时很难定位
SpringBoot几个常用的注解
[SpringBoot几个常用的注解]( SpringBoot的优缺点 - 知乎 (zhihu.com) )
(1)@RestController和@Controller指定一个类,作为控制器的注解 ,并说明其区别
(2)@RequestMapping方法级别的映射注解,这一个用过Spring MVC的小伙伴相信都很熟悉
(3)@EnableAutoConfiguration和@SpringBootApplication是类级别的注解,根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器
(4)@Configuration类级别的注解,一般这个注解,我们用来标识main方法所在的类,完成元数据bean的初始化。
(5)@ComponentScan类级别的注解,自动扫描加载所有的Spring组件包括Bean注入,一般用在main方法所在的类上
(6)@ImportResource类级别注解,当我们必须使用一个xml的配置时,使用@ImportResource和@Configuration来标识这个文件资源的类。
(7)@Autowired注解,一般结合@ComponentScan注解,来自动注入一个Service或Dao级别的Bean
(8)@Component类级别注解,用来标识一个组件,比如我自定了一个filter,则需要此注解标识之后,Spring Boot才会正确识别。
springboot是如何管理事务的?
直接写@transactional注解就行,在方法就是方法事务,类上就是类事务。
@transactional注解底层使用到了ThreadLocal,ThreadLocal原理