使用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
#激活application-dev配置文件
spring.profiles.active=dev
spring boot 支持Java Util Loggin、Log4J、Log4J2和LogBack作为日志框架,无论使用哪种日志框架,spring boot已为当前使用日志框架的控制台输出及文件输出做好了配置。
默认情况下,spring boot 使用 Logback作为日志框架
单独引入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}
org.springframework.boot
spring-boot-devtools
true
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();
参考: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);
}
}