相关配置
日志配置
l Spring Boot默认使用LogBack日志系统,不需要任何配置默认开启日志记录,INFO级别输出到控制台。spring-boot-starter中包含了spring-boot-starter-logging。
l 设置日志级别,共有TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为INFO,则TRACE和DEBUG日志都看不到。在applicaition.properties中添加logging.level.*属性:
案例:
logging.level.root=warn 这里是用的root级别,即项目的所有日志
logging.level.com.boot4.mapper=DEBUG 包级别的日志
说明:
%d{HH:mm:ss.SSS} 日志输出时间
%thread 输出日志的进程名字,在Web应用以及异步任务处理中很有用
%-5level 日志级别,并且使用5个字符靠左对齐
%logger- 日志输出者的名字
%msg 日志消息
%n 平台的换行符
l 保存日志到文件的设置,在application.properties文件中添加logging.file.*属性
logging.file.path=/Users/jackie/workspace/rome/ 配置日志文件的路径
logging.file.name=springbootdemo.log 配置日志文件名,默认为spring.log
注:二者不能同时使用
l 日志配置的详细说明
logging.config # 日志配置文件路径,如 classpath:logback-spring.xml
logging.file # 记录日志的文件名称,如:test.log
logging.level.* # 日志映射,如:logging.level.root=WARN,logging.level.com.b2.mapper=DEBUG
logging.path # 记录日志的文件路径,如:d:/
logging.pattern.console # 向控制台输出的日志格式,只支持默认的logback设置。
logging.pattern.file # 向记录日志文件输出的日志格式,只支持默认的logback设置。
logging.pattern.level # 用于呈现日志级别的格式,只支持默认的logback设置。
logging.register-shutdown-hook # 初始化时为日志系统注册一个关闭钩子
数据源配置
l 加入数据源依赖,加入jdbc启动器和数据库驱动包依赖即可
spring-boot-starter-jdbc、mysql-connector-java
l 当添加了数据库驱动并配置了jdbc启动器后,Spring Boot会自动完成以下内容:
自动装配DataSource对象、自动创建JdbcTemplate对象、自动提交事务。
l spring boot2.x中默认用HikariDataSource数据源(HikariCP.jar中)。jdbc会自动导入hikari依赖。
l 在配置文件中配置spring.datasource.*相关属性,框架自动将属性应用到DataSource上。
可以直接将JdbcTemplate注入到Dao中使用即可。
l spring.datasource.*是数据源的通用属性,针对不同数据源的特殊属性写法是:
l 如果想指定其他数据源实现类,可以使用spring.datasource.type属性指定,但实现类仅限于Tomcat、Hikari、dbcp2数据源。且需要手动导入依赖
l 若想使用其它数据源实现类。首先需要导入数据源pom依赖,以druid数据源为例
在配置文件中手动编写特有数据源属性
编写方法返回数据源bean,同时注入属性
l 如果想禁用数据源的自动配置,可以利用@EnableAutoConfiguration注解的exclude属性实现
静态资源
l Spring Boot自动注册了ResourceHandler,从classpath下的/static(对应/resources/static)和/public目录寻找文件。未找到则交由容器默认的servlet(default)从ServletContext根目录加载。
l 和服务器相关的属性
server.servlet.context-path 设定应用的根路径,默认为:/
server.servlet.path 设定前端控制器的映射路径,默认为: / (没有)
已经变为:spring.mvc.servlet.path
热部署
l 加入spring-boot-devtools实现spring boot项目的热部署,源码更改后会自动重新启动
支持jsp
l spring boot默认不支持jsp页面,需要加入jsp的启动依赖。tomcat-embed-jasper
属性配置
设置属性
l 属性配置有多种方式,按优先级如下:
1.命令行参数
2.Java系统属性(System.getProperties())
3.操作系统环境变量
4.application.properties或application.yml配置文件
5.通过SpringApplication.setDefaultProperties指定的默认属性
l 命令行参数 :格式 --xxx=xxx形式。例:java -jar app.war --server.port=9090
l Java系统属性。例:java -Dserver.port=9001 -jar app.war --server.port=9002 (优先级,端口是9002)
l 配置文件(.properties或.yml)。spring会自动从classpath下的/config目录或classpath根目录查找application.properties或application.yml文件。/config目录优先于classpath根目录。例:name=张三
l SpringApplication.setDefaultProperties设置属性,改写主启动类的main方法
l yml文件的语法规则:
大小写敏感。
键值对用":"分隔,且”:”后面要跟一个空格。
使用缩进表示层级结构,不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左对齐即可。
#表示单行注释。
~表示null
n 案例:
n 列表的表示方式,列表项使用"- "表示。注:-后面有一个空格
n 对象的表示方式。例:
读取和使用属性
l 方式一:使用@Value(“${xxx}”)注解将属性注入
l 方式二:读多属性时,使用@ConfigurationProperties注解将属性注入到一个配置对象中。
l 方式三:在配置文件中可以使用${xxx}引用前面配置过的属性。
app.name=’MyApp’
app.description=’${app.name} is a Spring Boot application’
另:${app.name:默认值}可以设置默认值。
整合MyBatis
l 加入mybatis-spring-boot-starter启动器,推荐使用2.1.3版本
l 加入mysql驱动pom依赖
l 在配置文件中配置数据源和mybatis相关设置
mybatis.mapper-locations=classpath:com/xxx/data/*Mapper.xml
mybatis.type-aliases-package= com.xxx.demo.vo
l 在主配置类上使用@MapperScan注解扫描Mapper接口所在的包。
l 编写Mapper接口和映射文件。
l 编写handler处理器测试。
l 可以配置日志显示sql语句