Junit中的类加载spring配置信息

package org.util.test;

import org.springframework.beans.BeansException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.util.StringUtils;
import org.junit.*;

public class UnitTestBase {
private ClassPathXmlApplicationContext context;
private String springXmlpath;//就是配置spring的bean容器的路径字符串,通过构造器获得

public UnitTestBase(){}

public UnitTestBase(String springXmlpath){
this.springXmlpath = springXmlpath;
}

@Before
public void before(){
if(StringUtils.isEmpty(springXmlpath)){
/**
* classpath*是当前jar包目录下的所有的jar包下进行的操作,
* 比如扫描等,classpath只是当前单独一个jar包里的操作。比如在扫描器中,
* classpath只扫描当前包里的class,classpath*则扫描的是当前包目录下所有的包里的class.
*/
springXmlpath = "classpath*:spring-*.xml";
}
try{
/**
* str.split(String regex)作用:根据正则表达式regex,将字符串str,
* 分割成字符串数组。"[,\\s]+" 是一个正则表达式,\\s表示各种空白符,+表示匹配多个。
* StringUtils是org.apache.commons.lang下的一个用于操作Java.lang.String的工具类,
* 使用可能需要手工导入commons-lang-xx.jar
* 把SpringXmlpath路径拆分开来,
* 因为springXmlpath路径可能是多个路径的拼接,拆分过之后每个路径下的xml都会被扫描识别
*/
context = new ClassPathXmlApplicationContext(springXmlpath.split("[,\\s]+"));
context.start();//通过扫描xml文件获取并启动容器
}catch(BeansException e){
e.printStackTrace();
}
}

@After
public void after(){
context.destroy();
}

@SuppressWarnings("unchecked")
protected <T extends Object> T getBean(String beanId){
/**
* T 这是泛型,在你不确定使用什么类型参数的时候,泛型可以代表任意一种类型参数,比较灵活方便
*/
return (T)context.getBean(beanId);
}
protected <T extends Object> T getBean(Class<T> clazz) {
return context.getBean(clazz);
}
}

原文地址:https://www.cnblogs.com/myfaith-feng/p/9211290.html

时间: 2024-10-13 05:23:42

Junit中的类加载spring配置信息的相关文章

struts中实现ajax的配置信息

基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: 1 function testAjax() { 2 3 var $userNameInput = $("#ajax_username"); 4 var userName = $userNameInput.val(); 5 6 $.ajax({ 7 url : "originAjax.action", 8 type :

Maven中的pom.xml配置信息(自动下载需要的jar包)

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 htt

Java 中${key}获取应用配置信息

${key} 中key的值来至于系统配置信息                 Properties properties = System.getProperties(); @SuppressWarnings("unchecked") Enumeration<String> keys = (Enumeration<String>) properties.propertyNames(); while(keys.hasMoreElements()){ String 

VTP中VLAN配置信息不同步故障排除

VTP(VLANTrunk Protocol,VLANTrunk协议)是Cisco专用的一种用于维护和管理动态VLAN(如基于MAC地址.IP地址.网络协议.VLAN管理策略等划分方式的VLAN)的二层消息的协议.它可以用来在Trunk链路上自动传播.交换VLAN配置信息,使得同一个VTP域中的交换机VLAN配置保持一致. 使用VTP的好处是可以只需在一台交换机上配置好所需的VLAN后,在同一VTP域中的交换机自动创建相同ID.名称和配置的VLAN,大大减轻了管理员重复创建.配置VLAN的工作量

Java 在spring cloud中使用Redis,spring boot同样适用

1.本地安装redis服务,官网下载. 2.在开发中要使用redis,首先要启动本地redis服务,启动后页面如下: 3.在spring boot项目pom.xml文件中添加Redis需要的依赖包,可在生成springboot项目选择自动引入: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</arti

.net core 2.0 mvc 获取配置信息

mvc_core_config html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,lege

Spring上下文信息获取简单实现

我们经常会在工作中需要获取Spring上下文信息,来获取程序中的一些要素,以下就是一个简单的获取Spring上下文的简单实现. public class SpringContextHolder implements ApplicationContextAware { private static ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext applicati

.Net Standard(.Net Core)实现获取配置信息

一.前言 在.Net Framework框架有专门获取webconfig配置的方法供我们使用,但是在.Net Core或者.Net Standard中没有可以直接使用的方法来获取配置文件信息,下面就来实现获取配置信息. 二.获取配置信息的实现 在.Net Core中,他的配置信息的载体是一个json文件,我们现在就计划所有项目(包含.Net Framework和.Net Standard(.Net Core)框架)都是json文件作为配置的载体. 首先通过Nuget加载如下的包: Install

使用Spring读取xml文件中的配置信息

一般写程序时我们都会将一些配置信息写到配置文件中,以便在不修改源码的情况下对程序的某些点进行更改.这里介绍一种Spring读取xml配置文件的方式,其基本思路如下:定义一个java类,其中定义一些静态变量对应我们的配置信息,然后采用注入的方式将变量值初始化为配置值.示例代码如下: 新建一个java类: package java; public class Config { //要配置的值 public static int value = 0; //这里不能写成静态的 public void s