SpringBoot
快速开发框架,能够帮助我们快速的整合各种第三方框架(通过maven依赖的方式将比较繁琐的固定包依赖关系通过maven继承的方式全部依赖起来),完全采用注解化,在使用Springboot的过程中基本上没有使用过XML,以简化XML的配置,其内置HTTP服务器(tomcate,jetty),默认嵌入的是tomcate服务器,最终以Java应用程序进行执行,当然也可以部署为传统的war包。
优势
便于搭建基于Spring工程;自动配置;简化配置和依赖管理;内置Tomcat及多种快发框架(Mybatis、Hibernate等)开发程度上,大大降低了工作量;…
SpringBoot启动流程
通过启动类main方法里面的.run()方法启动整个程序,由@Configuration注解,将启动类标志为一个配置类,再搭配@ComponentScan扫描指定路径下所有Bean,最后把这些Bean引用的jar包及配置通过@EnableAutoConfiguration自动化配置
@SpringBootApplication主要组成
- @Configuration:标记成配置类
- @ComponentScan:自动扫描的功能
- @EnableAutoConfiguration:自动化配置(核心注解)
1.**@EnableAutoConfiguration:**根据类路径下的jar包和动态配置,加载配置和注入Bean;
举个例子,比如我在 lib 下放一个 druid 连接池的 jar 包,然后在 application.yml 文件配置 druid 相关的参数,Spring Boot 就能够自动配置所有我们需要的东西,如果我把 jar 包拿掉或者把参数去掉,那 Spring Boot 就不会自动配置。
SpringBoot经典面试题
2.前两个都是Spring自带。
事务@Transactional
编程式事务: 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
声明式事务: 建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。
使用:可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。因此可以在Service层和Controller层使用,上述例子我们在Controller层实现,我们模拟了一个订单提交的接口,其中JsonBean是统一返回错误码基类,ErrorCodeException是自定义异常。
demo
常用配置
工程构建
1.idea方式构建:这里可以直接选用自己需要的依赖,也可以自己去Maven官方下载
file->project->
本章主要为个人理解,如有不全,请见谅。。。