1.springboot集成mybatis
1.引入相关依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.31</version>
</dependency>
<!--整合mybatis启动器-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.3</version>
</dependency>
2.配置文件
server:
port: 8989
context-path: /springboot
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
username: root
password: root
url: jdbc:mysql://localhost:3306/springboot
driver-class-name: com.mysql.jdbc.Driver
mybatis:
type-aliases-package: com.baizhi.entity #指定别名包
mapper-locations: com/baizhi/dao/*Mapper.xml #指定mapper文件的位置
3.在入口类添加dao包的扫描注解@MapperScan
//表示当前项目为springboot应用
@SpringBootApplication
//指定dao包的位置
@MapperScan(basePackages = "com.baizhi.dao")
public class App {
public static void main(String[] args) {
// 参数1 当前入口类的类对象 参数2 main函数的参数
SpringApplication.run(App.class,args);
}
}
2.springboot集成jsp
1.导入jsp解析支持的相关jar
<!--使内嵌的tomcat支持解析jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!--引入jsp的支持-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
2.配置视图解析器
#添加视图解析器
spring:
mvc:
view:
prefix: /
suffix: .jsp
3.通过插件形式启动
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
4.配置页面的热部署
#提供页面热部署
server:
jsp-servlet:
init-parameters:
development: true
IDEA启动配置
3、lombok
lombok的作用简化代码,使代码更加优雅,以字节码的形式生成get set …
1.安装插件
2.导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
3.了解相关注解
@Getter get方法
@Setter set方法
@Accessors(chain = true) 链式调用
@ToString tostring方法
@EqualsAndHashCode EqualsAndHashCode方法
@NoArgsConstructor 无参构造
@Data 包含上述注解
@AllArgsConstructor 全参构造
4、easyCode
1、安装插件
2、 配置mysql
5、logback
1.日志的级别
低 高
debug <info< warning< error
级别越低:日志打印量越多,粒度越细
级别越高:日志打印量越少,粒度越粗
2.日志的分类
父日志 : root(根日志),针对整个项目的日志 控制程序员自己写的日志 和框架里面的日志
子日志:logger,针对某个包的日志 ,子日志优先级高于父日志.
3.输出目的地Appender
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
4.Layout:日志输出格式,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
5.日志相关的参数
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )
6.logback的两种形式
1.logback的配置文件,在springboot中引入该配置文件 命名为logback.xml
注意:yml配置日志格式和xml配置日志格式 不能混用 任选其一
注意:springboot默认集成logback的jar包所以不需要引入依赖
注意:springboot默认logback的配置文件路径为:org/springframework/boot/logging/logback/base.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern> [%p] [%d{yyyy-MM-dd HH:mm:ss}] %m %n</pattern>
</layout>
</appender>
<root level="info">
<appender-ref ref="stdout"/>
</root>
<logger name="com.baizhi.mapper" level="DEBUG"/>
</configuration>
2.使用springboot的自动配置控制日志
logging.level.root=debug #设置父日志级别
logging.level.com.baizhi.conf=debug #设置指定包的日志级别
logging.file= 文件名|路径 建议使用 / 代表项目所在磁盘的根目录 此配置使logging.path失效
logging.path=路径+文件名
logging.pattern.console= [%p] [%d{yyyy-MM-dd HH:mm:ss}] %c %m %n 控制台的日志格式(yml需加单引号),
logging.pattern.file= 同上 文件的日志格式
8.在编码中使用logback写日志
//写日志的两种方式
//在类中声明 logger对象
Logger log=LoggerFactory.getLogger(TestDao.class);
//配合lombok使用
只需要在类上加@Slf4j注解
//这里的{} 指的占位符 表示 后边需要打印的对象类型或者是基本类型 打印多个值则需要多个占位符
log.info("this is info{}", user);
log.debug("this is debug{}", user);
log.warn("this is warn{}", user);
log.error("this is error{}", user);