【springboot笔记】

一、常用的starter

二、开发篇

1.继承parent

使用springboot时,都要继承一个parent


    org.springframework.boot
    spring-boot-starter-parent
    1.5.1.RELEASE

但通常情况下,我们会在项目中定义一个自己的 parent 项目,这种情况下,当我们在子工程中指定我们自己的parent项目,就不能再指定上面官方的spring-boot-starter-parent了。
那么,该如何来做呢?其实,在spring的官网也给出了解决方法:
我们在父工程加入以下代码。在子工程中则直接指定父工程即可。


    
        
            org.springframework.boot
            spring-boot-dependencies
            1.5.1.RELEASE
            pom
            import
        
    

参考:Spring Boot 不使用默认的 parent,改用自己的项目的 parent

2.maven环境隔离

#激活application-dev配置文件
spring.profiles.active=dev

3.日志

spring boot 支持Java Util Loggin、Log4J、Log4J2和LogBack作为日志框架,无论使用哪种日志框架,spring boot已为当前使用日志框架的控制台输出及文件输出做好了配置。

默认情况下,spring boot 使用 Logback作为日志框架

4.与swagger2整合

单独引入jar方式

        
            io.springfox
            springfox-swagger2
            2.4.0
        
        
            io.springfox
            springfox-swagger-ui
            2.4.0
        

springboot引入的方式
可以参考:RESTful API开发神器swagger与spring-boot的快速整合使用

    
        com.gitee.reger
        spring-boot-starter-swagger
        ${spring-boot-starter-swagger.version}
    

5.热部署

        
            org.springframework.boot
            spring-boot-devtools
            true
        

6.PageHelper分页

1.添加pom文件依赖

        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            1.2.5
        

2.配置application.yml

# 与mybatis整合
mybatis:
  config-location: classpath:mybatis.xml
  mapper-locations:
  - classpath:mapper/*.xml

# 分页配置
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: count=countSql

3.使用

//使用分页
PageHelper.startPage(pageNum, pageSize);
List typeList = typeDao.getList();

7.mybatis注解和xml

8.异常处理

参考:SpringBoot RESTful 应用中的异常处理小结
参考:异常统一处理进阶

@ExceptionHandler方式
方法注解, 作用于 Controller 级别. ExceptionHandler 注解为一个 Controler 定义一个异常处理器.
@ControllerAdvice方式
类注解, 作用于 整个 Spring 工程. ControllerAdvice 注解定义了一个全局的异常处理器.

需要注意的是, ExceptionHandler 的优先级比 ControllerAdvice 高, 即 Controller 抛出的异常如果既可以让 ExceptionHandler 标注的方法处理, 又可以让 ControllerAdvice 标注的类中的方法处理, 则优先让 ExceptionHandler 标注的方法处理.

三、打包部署
可以使用eclipse直接导出成war包。当然更通用的方式是使用以下命令来打成jar包或者war包。

mvn clean package  -Dmaven.test.skip=true

如果打成jar包,则可以用以下命令来运行

# 控制台启动。这种方式,只要控制台关闭,服务就不能访问
java -jar  xx.jar

# 后台运行启动。
nohup java -jar xx.jar &

#打包时可选取不同的配置
java -jar app.jar --spring.profiles.active=dev

如果打成war包,则可以放入tomcat下运行。

需要注意的是:打成war前需要进行一些修改操作。
参考springboot官方文档说明:Create a Deployable War File
①修改pom包

jar
改成
war

②排除tomcat


	org.springframework.boot
	spring-boot-starter-tomcat
	provided

③修改启动类
启动类继承SpringBootServletInitializer,并覆盖configure()方法。

//继承SpringBootServletInitializer 
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    //加上这个方法
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
    
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }
}

你可能感兴趣的:(【springboot笔记】)