SpringBoot基础集成
定时任务Crontab
- 只依赖spring-boot-starter.jar
- 启动类添加@EnableScheduling 注解
- 直接使用Crontab@Componentpublic class SchedulerTask {@Scheduled(cron="0/5 * * * * ?")public void executeFileDownLoadTask() {// 间隔5s钟,执行任务Thread current = Thread.currentThread();System.out.println("定时任务1:"+current.getId());}}
Mybatis 集成
maven 依赖
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency>mapper扫描路径指定
# 指定Mapper xml文件的扫描路径,为 resource 文件夹下的 mapper文件夹下的所有xml文件mybatis.mapperLocations=classpath:mapper/*.xml
3.指定mybatis接口路径
Mybatis SqlSessionTemplate的集成
- Maven依赖
- 指定mapper文件路径
- 注入SqlSessionTemplate直接使用@Resourceprivate SqlSessionTemplate template;@Transactional(readOnly = true)public User selectByPrimaryKey(long id) {System.out.println("show_test");User user =template.selectOne("com.example.demo.dao.UserDAO.selectByPrimaryKey",id);return user;}
集成mysql
maven依赖
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>配置数据源
spring.datasource.url=jdbc:mysql://localhost:3306/ksc_order?useUnicode=true&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver
集成MVC和JSP
http://tengj.top/2017/03/13/springboot5/
- 引入maven依赖
- 配置spring.mvc.view.prefix 和 suffix
- 设置module,设置web的路径为 webapp,和引入maven dependence
生成war包,外部运行
http://tengj.top/2017/03/13/springboot5/
写一个继承SpringBootServletInitializer的类,指定web.xml启动类
public class DemoApplication extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(DemoApplication.class);}}覆盖掉内置tomcat的作用范围为 provided,不和外部的tomcat发生冲突
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>打包的时候查看包结构,如果少了lib包的话, myeclipse –> Deployment Assmely里面要有mavenjar包依赖 到 lib下
日志功能
http://tengj.top/2017/04/05/springboot7/#
- 默认引入了spring-boot-starter的包里已经有logback了,直接用即可。
- 直接在src/main/resouce下设置logback-spring.xml文件,自动加载logback配置
- logger结点设置解释如下
- 设置了logger的话,优先走logger,而不是用root;会按照logger设置的级别,只打印高于该级别的信息。
- addtivity:是否向上级logger传递打印信息。默认是true。可能会打印2次满足条件的日志信息。 <logger name="com.dudu.controller.LearnController" level="WARN" additivity="false"><appender-ref ref="console"/></logger>@RequestMapping(value = "/login",method = RequestMethod.POST)@ResponseBodypublic Map<String,Object> login(HttpServletRequest request, HttpServletResponse response){//日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出。logger.trace("日志输出 trace");logger.debug("日志输出 debug");logger.info("日志输出 info");logger.warn("日志输出 warn");logger.error("日志输出 error");}
logback 打印mybatis SQL功能
因为mybatis SQL的级别是debug,所以暴力一点 root设置为debug,就会打印sql信息。
优雅一点的话,直接设置 mapper层为debug即可,name为 mapper的前缀即可,优雅无比。
集成Druid连接池和监控执行信息
http://tengj.top/2017/12/20/springboot11/
在启动类里面添加如下代码(因为就不需要单独写 configeration类了
异常处理
http://tengj.top/2018/05/16/springboot13/
包括全局性质的 404,500,error.html,还有针对类和全局的 @ExceptionHandler,来针对类型处理异常