为什么有SpringMvc还要有SpringBoot呢?
Spring 是一个“引擎”;
Spring MVC 是基于Spring的一个 MVC 框架 ;
Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。
Spring 最初利用DI和AOP解耦应用组件,大家觉得挺好用。
于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。
然后有发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这就是 Spring Boot。
Spring Boot实现了自动配置,降低了项目搭建的复杂度。
注解
1、@controller 控制层(注入服务) @RestController 是 @ResponseBody和@Controller的合体
2、@service 业务逻辑层(应用在实现类上)
3、@repository (注入dao)
如果SpringBootApplication启动时加上注解
@MapperScan(basePackages = "com.lbw.dao", markerInterface = BaseMapper.class)
就可以把com.lbw.dao 下的 extends BaseMapper 的类全部加载进去,从而省略每个dao文件都加@repository
4、@MapperScan(basePackages = "com.lbw.dao") 相当于
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lbw.dao" />
</bean>
5、@component
把普通的pojo实例化到spring容器中相当于配置文件的<bean id="" class=""/>,泛指各种组件
6、@EanbleCaching (在main方法上)开启缓存技术
在需要缓存的地方加上@Cacheable()
具体参考https://www.cnblogs.com/fashflying/p/6908028.html
7、@Transactional 事务
直接写在class上,那class的所有函数都默认Propagation.REQUIRED
8、@Configuration 定义配置类,可替换xml配置文件
相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)
应用要求https://www.cnblogs.com/duanxz/p/7493276.html
9、@ConfigurationProperties(prefix = "drill.tables") 和 @Value作用相似
具体区别参考https://www.cnblogs.com/slowcity/p/9097969.html
10、@Async 一个异步任务
、
====待更新====