我有这个非常简单的课程:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath*:/application-context-this-does-not-exist.xml"})
public class HTMLSourceExtractorImplTest {
@Autowired
ApplicationContext context;
@Test
public void test(){
String [] beans = context.getBeanDefinitionNames();
for(String bean : beans){
System.out.println(bean);
}
System.out.println("Testing");
}
}
在类路径中指定的此上下文文件不存在。我几乎可以输入任何想要的名称,并且代码不会中断。我的意思是测试运行正常,就好像该文件确实存在。
如果我从: classpath 到 classpath*
做了一个小的更改,它会发出喙,表示该文件不存在,这也是我在第一种情况下的预期行为。
春季版本3.2.3。
有人可以解释这种奇怪的行为吗?
编辑
建议的日志内容:
20:47:26,923 INFO [GenericApplicationContext] Refreshing org.springframework.context.support.GenericApplicationContext@3df6c65c: startup date [Fri Jun 07 20:47:26 PDT 2013]; root of context hierarchy
我什至尝试从应用程序上下文输出所有bean:
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalRequiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.annotation.ConfigurationClassProcessor.importAwareProcessor
在我看来,如果使用通配符,Spring将创建一个默认的空应用程序上下文
JavaDoc的报价可能会回答您的问题:
/**
* Pseudo URL prefix for all matching resources from the class path: "classpath*:"
* This differs from ResourceLoader's classpath URL prefix in that it
* retrieves all matching resources for a given name (e.g. "/beans.xml"),
* for example in the root of all deployed JAR files.
* @see org.springframework.core.io.ResourceLoader#CLASSPATH_URL_PREFIX
*/
String CLASSPATH_ALL_URL_PREFIX = "classpath*:";
由于application-context-this-does-not- exist.xml
在类路径上没有与名称匹配的XML文件,因此您的配置等于@ContextConfiguration(locations={})
=>
空的应用程序上下文 。
但是,当您使用时CLASSPATH_URL_PREFIX = "classpath:"
,这等于说 “加载此不存在的文件” =>
错误加载上下文配置 。
我试图在Android活动中动态创建并移动图像。然而,setX()和setY()方法似乎无法正常工作。第一次创建和放置图像时,它会正确设置图像的位置,但任何更新图像的尝试都会导致图像放置在错误的位置。例如,图像在以下代码上移动: 在动作_MOVE时,即使x和y位置值保持不变,图像也会移动。图像的父对象保持不变。大小保持不变。如果我得到x和y值,它仍然会说206,但它不再位于活动的(206206)处
问题内容: 这段代码: 在Chrome中产生以下输出: 这是为什么? 问题答案: 通过检查对象以异步方式进行。控制台同步接收到对对象的引用,但在对象被扩展之前不会显示对象的属性(在某些情况下,取决于浏览器以及日志发生时是否打开了开发工具)。如果在控制台中检查对象之前已对其进行了修改,则显示的数据将具有更新的值。 例如,Chrome会在一个方框中显示一点,悬停时说: 记录时左边的对象值已被快照,下面
我正在设计一个网站,有一些h3标题和段落,包装在一个名为“featured-info”的div类中。此外,我还有一个footer元素,它位于主体中的主包装器中。各段用斜体字写成: 并且页脚有边框: 页脚文本也是一个h4向上感知: 主要的问题是我有一个设置:@media screen和(最小宽度:750px),它使一些导航按钮内联,并调整一些文本的大小,但是...当页面大小小于750px时,页脚样式
问题内容: 为什么这样做有效: 但这不是: 如果我有一个数组实例变量,并且想在我的构造函数中对其进行初始化,那么我不必走 我觉得我在这里想念什么吗? 问题答案: 这里的构造在Java中称为数组初始化器。这是一个特殊的速记,仅在某些语法构造中可用: [JLS 10.6数组初始化器](http://java.sun.com/docs/books/jls/third_edition/html/array
我正在将我的应用程序从angular2 RC5和angular WebPack脚手架迁移到angular 2 2.0.0和angular cli beta 14。 你知道吗? 更新: 第一个错误可能与https://github.com/angularclass/angular2-webpack-starter#frequence-askeds-questions(第二个问题)有关,我有几个问题需