首页 > 其他分享 >21_Spring_日志框架和测试支持

21_Spring_日志框架和测试支持

时间:2023-03-06 13:34:35浏览次数:42  
标签:21 Spring springframework context org test import 日志 junit

 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的配置文件
 

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console" />
        </Root>
    </Loggers>
</Configuration>

 

 


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);
    }
}


标签:21,Spring,springframework,context,org,test,import,日志,junit
From: https://www.cnblogs.com/2324hh/p/17183515.html

相关文章

  • Spring Boot&Vue3 前后端分离 实战 wiki 知识库系统<一>--Vue CLI 项目搭建目搭建
    接着上一次​​SpringBoot&Vue3前后端分离实战wiki知识库系统<二>---后端架构完善与接口开发​​的继续往下,这次则开始涉及到前端Vue框架的学习了,为之后的后台界面搭建......
  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • [SWPUCTF 2021 新生赛]sql
     前言思路:这个CTF题是一个SQL注入相关的题目,题中所含相关知识点:题目中过滤了空格、等于号,使用/**/替换空格符,使用like替换等于号,后面步骤均为常规sql注入;到最后显示......
  • 20_Spring_零XML事务控制
    ​ 创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importor......
  • Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<一>--Vue3 + Vue CLI 项Vue3 +
    接着上一次https://www.cnblogs.com/webor2006/p/17139526.html的继续往下,这次则开始涉及到前端Vue框架的学习了,为之后的后台界面搭建打好地基。了解Vue和VueCLI及其关系......
  • 19_Spring_事务管理XML配置方式
    ​ applicationContext中,通过AOP实现事务的控制 <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xm......
  • 19_Spring_事务管理XML配置方式
    ​ applicationContext中,通过AOP实现事务的控制 <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xm......
  • linux命令之journalctl查看日志信息
    #以flow形式查看日志实时滚动$journalctl-f#查看内核日志$journalctl-k#查看指定服务日志实时滚动最新日志$journalctl-udocker.serivce#查看指......
  • Spring原理(1)——容器
    容器接口BeanFactory是ApplicationContext的父接口,所有ApplicationContext的实现都组合了BeanFactory。BeanFactory才是Spring的核心容器。从BeanFactory提供......