前言
上面两篇博客,我们把基本的框架搭起来了.但是里面还有好多需要完善的,我们一点点来完善
ssm整合swagger
有个问题啊.每次启动web和service之后,想要测个接口,就得打开postman,一个个拼url, 很麻烦,所以我们就采用了swagger.
ssm如何整合swagger呢,请看这篇博客: SSM整合swagger
跨域处理
现在测试方便了, 前后端需要联调, 前端要去调后端,就用到了跨域处理,如何配置呢,请看这篇文章: 跨域处理
一个项目,怎么能少了日志呢?
ssm整合log4j
添加jar包
由于我们所有项目的一个公共的管理jar的版本的地方:kwy-parent(这里如果忘记结构了,可以回过去看一下这篇博客: SSM从零开始搭框架(一)). 所以需要在这个里面,添加上jar以及jar的版本
<log4j.version>1.2.17</log4j.version> <log4jdbc.version>1.16</log4jdbc.version> <slf4j.version>1.7.25</slf4j.version> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- print sql# --> <dependency> <groupId>org.bgee.log4jdbc-log4j2</groupId> <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId> <version>${log4jdbc.version}</version> </dependency> <!-- #print sql -->
web和service的pom中分别添加依赖
如果对这一块maven不太清楚,请看我的maven系列博客
<!--日志相关--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </dependency>
添加log4j.properties文件
在resources目录下添加log4j.properties文件. 文件具体内容,先来看一篇关于日志的详解: log4j配置文件简解, 这篇文章里面,还附了一篇关于p6spy格式化sql, 大家感兴趣,可以继续点进去看
根据文件的解释,来添加自己喜欢的日志格式.
这里附上我们项目的log4j配置文件
service
#root log4j.rootLogger=info,CONSOLE,file # CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.Target=System.out #log4j.appender.CONSOLE.Encoding=UTF-8 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %l %t |- %m%n #file log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.DatePattern=yyyyMMdd log4j.appender.file.File=../logs/sign-service.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %-5p %l %t |- %m%n #dubbo log4j.logger.com.alibaba.dubbo=ERROR ##p6spy log4j.additivity.p6spy=false log4j.logger.p6spy=info,spyConsole,file log4j.appender.spyConsole=org.apache.log4j.ConsoleAppender log4j.appender.spyConsole.Target=System.out log4j.appender.spyConsole.layout=org.apache.log4j.PatternLayout log4j.appender.spyConsole.layout.ConversionPattern=#####--%m%n
web
#root log4j.rootLogger=INFO,CONSOLE,file log4j.additivity.org.apache=true # CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.Target=System.out #log4j.appender.CONSOLE.Encoding=UTF-8 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %l %t |- %m%n #file log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.DatePattern=yyyyMMdd log4j.appender.file.File=../logs/sign-web.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %-5p %l %t |- %m%n #dubbo log4j.logger.com.alibaba.dubbo=ERROR
使用
//定义打印日志相关 private static final Logger logger = LoggerFactory.getLogger(TeachclassController.class);
SSM整合junit
在框架中添加单元测试是肯定的.来看看添加步骤吧