[SpringBoot是什么?SpringBoot的优缺点有哪些?]( SpringBoot是什么?SpringBoot的优缺点有哪些? (biancheng.net) )
核心功能
独立运行的Spring项目
内嵌Servlet容器
提供starter简化的Maven配置
自动配置Spring
监控
SpringBoot注解
SpringBoot的优点:
- 快速构建项目
- 对主流开发框架的无配置集成
- 项目独立运行,内嵌Servlet容器,无需依赖外部Servlet
- 提供运行时的应用监控
- 极大的提高了开发 , 部署xiaolv
- 与云计算天然集成
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原理