1、SprgBoot优点: 

       1)、开箱即用,提供各种默认配置来管理项目,无需XML配置;

       2)、内嵌式容器简化Web项目,无需部署War文件;

       3)、简化Maven配置;

       4)、独立的Spring应用程序;

       5)、自动配合Spring;

2、使用SpringBoot系统要求;

       1)、Java7以上;

       2)、Spring Framework 4.1.5以上;

3、创建HelloWorld工程:

       1)、创建一个类型为Jar的Maven工程;

       2)、 pom文件引入依赖:

                       SpringBoot知识汇总

        3)、编写Controller类:

                a)、第一种启动方式:

                       SpringBoot知识汇总

                b)、第二种启动方式(定义控制器扫包范围):

                       SpringBoot知识汇总

4、SpringBoot访问静态资源

        1)、SpringBoot默认在classpath下提供静态资源目录,且目录名只能命名为一下规则:

                    /static

                    /public

                    /resource

                    /META-INF/resource

         2)、访问路径:http://localhost:8080/1.png(注意不需要添加文件夹名称,SpringBoot启动默认配置好在classpath)

5、异常handler类切面拦截全局异常

        1)、创建一个全局异常拦截Handler

                  SpringBoot知识汇总

                    @ControllerAdvice controller 的一个辅助类,最常用的就是作为全局异常处理的切面类,可以指定扫描范围,约定了几种可行

                    的返回值,如果是直接返回 model 类的话,需要使用 @ResponseBody 进行 json 转换,返回 String,表示跳到某个 view  

6、渲染Web页面

        1)、模板引擎

                 SpringBoot可以实现动态HTML,并且提供了多种模板引擎的默认配置支持,只有有以下几种:

                       a)、Thymeleaf

                       b)、FreeMarker

                       c)、Velocity    

                       d)、Groovy   

                       e)、Mustahe           

                   SpringBoot建议使用这些模板引擎,避免使用JSP,但也支持JSP的配置,以上默认配置路径:src/main/esource/template(模板的配置属性中可修改)

         2)、使用FreeMarker引擎渲染Web视图:

                       a)、pom.xml文件中引入依赖支持:

                                 SpringBoot知识汇总

                       b)、后台Controller类

                               SpringBoot知识汇总

                       c)、前台在src/main/resource/template中创建index.ftl页面渲染内容

                                  SpringBoot知识汇总

                       d)、在新建的application.properties文件中配置FreeMarker

                                 SpringBoot知识汇总

         3)、使用Jsp渲染Web视图:

                        a)、pom.xml文件中添加依赖支持

                                  SpringBoot知识汇总

                        b)、application.properties中配置默认路径配置

                                    Spring.mvc.view.prefix =  /WEN-INF/jsp

                                    Spring.mvc.view.suffic = .jsp

                        c)、后台代码

                        d)、创建对应的jsp文件

7、SpringBoot整合JdbcTemplate

         1)、pom.xml文件中添加依赖支持

                    SpringBoot知识汇总

          2)、application.properties配置数据源信息

                     SpringBoot知识汇总

          3)、AppController

                     SpringBoot知识汇总

          4)、IndexController

                    SpringBoot知识汇总

           5)、UserService

                     SpringBoot知识汇总

8、SpringBoot继承myBatis

         1)、pom.xml文件中添加依赖支持

                   SpringBoot知识汇总

         2)、application.properties配置数据源信息

         3)、AppController

                     SpringBoot知识汇总

         4)、UserMapper 

                     SpringBoot知识汇总

9、springBoot集成JPA

         1)、pom.xml添加依赖支持

                     SpringBoot知识汇总

         2)、APPController

                    SpringBoot知识汇总

         3)、IndexController

                     SpringBoot知识汇总

         4)、 UserDao

                      SpringBoot知识汇总

         5)、Users实体类

                      SpringBoot知识汇总

10、SpringBoot整合多数据源

         1)、application.properties中配置自定义多数据源

                        SpringBoot知识汇总

               附:springboot默认数据源为:

                        SpringBoot知识汇总

         2)、自定义数据源信息类Test01(多数据源时需要自定义,默认数据源时不需要编写)

                         SpringBoot知识汇总            

                         SpringBoot知识汇总

                         SpringBoot知识汇总

         3)、参照Test01数据源,自定义数据源信息类Test02

         4)、AppController

                         SpringBoot知识汇总

         5)、IndexController

                          SpringBoot知识汇总

         6)、User01Service

                          SpringBoot知识汇总

         7)、User1mapper

                         SpringBoot知识汇总

11、SpringBoot整合事物管理

         1)、注解式开启注解

                       SpringBoot知识汇总    

                  附:当在User01Service中操作数据源2的时候,因为不在同个事物管理中,所以报错不会回滚会产生脏数据,这个时候采用分布式事物管理方案

         2)、分布式事物管理

                         分布式通讯:调用接口(HttpClient使用http协议、WebService使用socket协议)

                         常用的分布式事物管理方案: automatic+jta、两段提交协议、MQ推送

                         使用automatic+jta操作多数据源方案解决多数据源时不再同一事物管理会产生脏数据的bug

                              a)、pom.xml中添加依赖支持

                                           SpringBoot知识汇总

                              b)、application.properties中配置多个数据源信息

                                            SpringBoot知识汇总

                              c)、数据源信息类读取applicatioin.properties中配置的数据源信息

                                             SpringBoot知识汇总

                              d)、数据源信息类管理类,将数据源信息交由automatic管理

                                              SpringBoot知识汇总

                                              SpringBoot知识汇总

                              e)、AppController(需要添加@EnableConfigurationProperties(value= { DBConfig1.class, DBConfig2.class })开启数据源信息类中的注解)

                                                SpringBoot知识汇总

                              f)、User01Service中操作数据源2,报错时automatic会进行事物回滚

                                                SpringBoot知识汇总

12、SpringBoot使用AOP统一处理web请求日志管理

         1)、pom.xml中添加依赖支持

                      SpringBoot知识汇总

         2)、WebLogAspect日志管理类

         SpringBoot知识汇总

         3)、IndexController中定义请求方法,即会在控制台中打印日志   

13、SpringBoot集成缓存          

         1)、pom.xml中添加依赖支持

                     SpringBoot知识汇总

         2)、ehCache.xml文件配置缓存信息

                      SpringBoot知识汇总

         3)、UserMapper

                      SpringBoot知识汇总

         4)、AppContorller添加扫描包、开启缓存注解

                     SpringBoot知识汇总

         5)、清楚缓存

                     SpringBoot知识汇总

         6)、可使用Redis做集中式缓存

14、SpringBoot使用@Async实现异步多线程执行

         1)、AppController注解开启异步执行

                     SpringBoot知识汇总

         2)、IndexController中调用Service

         3)、userService中添加异步多线程执行注解

                      SpringBoot知识汇总

         4)、主线程的执行等级会比子线程高

15、SpringBoot中自定义参数

         1)、application.properties中声明参数名=参数值

                       name = zhangshan

         2)、IndexController中使用value注解

                       SpringBoot知识汇总

16、SpringBoot多环境配置(开发、测试、生产)

         1)、application.preperties中定义有效环境

                       spring.profiles.active=pre

         2)、applicaion-dev.preperties

                       name = devName

         3)、application-test.properties

                       name = testName

17、SpringBoot修改端口号

         1)、application.properties

                       server.port=8888  //端口号

                       server.context-path=/itmayiedu  //上下文        

18、SpringBoot使用.yml文件

         1)、application.yml(相当于properties)

                       SpringBoot知识汇总

19、SpringBoot项目打包

         1)、pom.xml中添加build配置

                         SpringBoot知识汇总

                            如果没有添加会报没有主清单错误(生成的War包文件中缺少Main-Class配置信息)           

                            SpringBoot知识汇总

         2)、使用maven打包命令打War包:mvn package

         3)、运行War包:java -jar War包名称






























                                  



         1)、

相关文章: