21_Spring_日志框架和测试支持
21_Spring_日志框架和测试支持
spring5框架自带了通用的日志封装,也可以整合自己的日志
1)spring移除了 LOG4jConfigListener,官方建议使用log4j2
2)spring5整合log4j2
导入log4j2依赖
-
<!--log4j2 依赖--> -
<!--<dependency> -
<groupId>org.apache.logging.log4j</groupId> -
<artifactId>log4j-core</artifactId> -
<version>2.14.0</version> -
</dependency>--> -
<!--slf4-impl 包含了log4j2 依赖--> -
<dependency> -
<groupId>org.apache.logging.log4j</groupId> -
<artifactId>log4j-slf4j-impl</artifactId> -
<version>2.14.0</version> -
<scope>test</scope> -
</dependency>
在resources目录下准备log4j2.xml的配置文件
-
-
<Appenders> -
<Console name="Console" target="SYSTEM_OUT"> -
%c{1}:%L - %msg%n" /><PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p -
</Console> -
</Appenders> -
<Loggers> -
<Root level="debug"> -
<AppenderRef ref="Console" /> -
</Root> -
</Loggers>
spring5关于测试工具的支持
整合junit4
依赖的jar
-
<!--Junit4单元测试--> -
<dependency> -
<groupId>junit</groupId> -
<artifactId>junit</artifactId> -
<version>4.13.1</version> -
<scope>test</scope> -
</dependency> -
<!--spring test测试支持包--> -
<dependency> -
<groupId>org.springframework</groupId> -
<artifactId>spring-test</artifactId> -
<version>5.3.5</version> -
<scope>test</scope> -
</dependency>
测试代码编写方式
- package com.msb.test;
- import com.msb.config.SpringConfig;
- import com.msb.service.AccountService;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.ApplicationContext;
- import
org.springframework.context.annotation.AnnotationConfigApplicationContext; - import org.springframework.context.support.ClassPathXmlApplicationContext;
- import org.springframework.lang.Nullable;
- import org.springframework.test.context.ContextConfiguration;
- import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
- /**
-
- @Author: Ma HaiYang
-
- @Description: MircoMessage:Mark_7001
- */
- @RunWith(SpringJUnit4ClassRunner.class)// 指定测试支持类
- @ContextConfiguration("classpath:applicationContext.xml")// 指定核心配置文件位置
- public class Test2 {
-
@Autowired // 注入要获取的bean -
private AccountService accountService; -
@Test() -
public void testTransaction(){ -
int rows = accountService.transMoney(1, 2, 100); -
System.out.println(rows); -
} - }
整合junit5
依赖的jar
-
<!--junit5单元测试--> -
<dependency> -
<groupId>org.junit.jupiter</groupId> -
<artifactId>junit-jupiter-api</artifactId> -
<version>5.7.0</version> -
<scope>test</scope> -
</dependency>
测试代码编写方式
- package com.msb.test;
- import com.msb.service.AccountService;
- import org.junit.jupiter.api.Test;
- import org.junit.jupiter.api.extension.ExtendWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.test.context.ContextConfiguration;
- import org.springframework.test.context.junit.jupiter.SpringExtension;
- import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
- /**
-
- @Author: Ma HaiYang
-
- @Description: MircoMessage:Mark_7001
- */
- /使用ExtentWith和ContextConfiguration注解/
- /*@ExtendWith(SpringExtension.class)
- @ContextConfiguration("classpath:applicationContext.xml")*/
- // 使用复合注解
- @SpringJUnitConfig(locations = "classpath:applicationContext.xml")
- public class Test3 {
-
@Autowired // 注入要获取的bean -
private AccountService accountService; -
@Test -
public void testTransaction(){ -
int rows = accountService.transMoney(1, 2, 100); -
System.out.println(rows); -
} - }

浙公网安备 33010602011771号