- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Spring 新手,这就是我想要做的事情:
我正在使用一个基于 Maven 的库,它有自己的 Spring 上下文和 Autowiring 字段。
它的bean配置文件是src/test/resources/cucumber.xml
我在图书馆有一堂这样的课:
@Component
public class ConfigContainer {
@Value("${lc.service.uri}")
private String lcServiceUri;
@Value("${lc.service.port}")
private Integer lcServicePort;
}
}
然后我有一个测试应用程序(基于 maven 和 cucumber),我想在其中使用库中的 Autowiring 字段。
我的应用程序的bean配置文件是src/test/resources/cucumber.xml
我正在使用 @RunWith(Cucumber.class)
运行 cucumber 测试。
我有以下 Maven 依赖项:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
<version>1.2.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>theInternalLibrary</groupId>
<artifactId>internal-api-tests</artifactId>
<version>1.0.15-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
</exclusion>
<exclusion>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
</exclusion>
<exclusion>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.6.RELEASE</version>
<scope>test</scope>
</dependency>
</dependencies>
当我尝试使用 @ContextConfiguration
和 @Autowired
注释将此 ConfigContainer
注入(inject)到我的应用程序中时,对象值为空
。
@ContextConfiguration(locations = {"classpath:cucumber.xml"})
public class CleanupTest {
@Autowired
protected ConfigContainer configContainer;
}
但是,如果我使用 new ClassPathXmlApplicationContext("cucumber.xml")
注入(inject)它,则该对象将使用预期值正确初始化。
public class CleanupTest {
protected ApplicationContext context = new ClassPathXmlApplicationContext("cucumber.xml");
private ConfigContainer configContainer = (ConfigContainer)context.getBean("configContainer");
}
您能否向我解释一下为什么会发生这种情况以及如何才能使用 spring 注释注入(inject)该字段?
谢谢。
最佳答案
您需要用 @RunWith(SpringJUnit4ClassRunner.class)
注释您的测试类。否则,JUnit 仅使用默认构造函数创建测试类的实例。
关于java - Spring 上下文不使用 @ContextConfiguration 初始化,而是使用 new ClassPathXmlApplicationContext 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158411/
我通过听来学习 Java Spring Framework“Spring & Hibernate for Beginners”udemy 类(class)。我在尝试时挣扎导入org.springfra
我的主类的静态方法中有以下代码 - appContext = new ClassPathXmlApplicationContext(new String[] { "classp
我将 spring 与其他框架一起使用,并且我是序列化领域的新手。 问题是什么: 我需要序列化包含 org.eclipse.jetty.websocket.api.Session session (不
我正在使用 spring hibernate maven 项目。这里我得到了异常 dispatcher-servlet.xml 文件未找到。我应该如何添加路径。或者我应该在 .classpath 文件
我有这个代码... public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApp
“本地文件名”是指资源文件与类文件位于同一目录中。在下面的例子中,这是 JUnitRunner.class 文件。 Java 的 getResource()如果路径不是以 /' 开头,文件可以处理这个
我是 Spring 新手。我在将类路径作为 ClassPathXmlApplicationContext 的参数时遇到问题。我使用 Netbeans。我使用 ClassPathXmlApplicati
我正在使用 Intellij,我的源类是 main.com.coding,我的资源文件是 main.com.testing。我将 spring.xml 文件放入资源文件中。 我的测试类位于 test.
我正在尝试使用 Spring 3.2.0 创建连接,但出现 NullPointerException: ApplicationContext ctx = new ClassPathXmlApplica
我正在使用 spring-framework 和 hibernate 开发一个 Maven 项目。我有这两种方法: public void loadXml() throws IOException,
我们有一个不在 Web 容器中运行的应用程序,所以我正在尝试启动 Spring。在“main”函数中我们有这样的: public static void main(String[] args) thr
我尝试使用 PropertyPlaceholderConfigurer 加载属性文件中的一些变量,但它不起作用。互联网上的一些网站建议当 spring aop 不在类路径中时会出现问题,但我确保 ao
我的网络应用程序使用 iText 动态创建 PDF。 GlassFish 线程池用于在单独的线程中处理每个 PDF。 Spring 遍布整个应用程序以进行依赖注入(inject)。应用程序的所有模块都
尝试使用 Spring 。 xml文件在src下。我已经搜索过,但找不到问题所在。似乎找不到 xml 文件。 我收到以下错误: Exception in thread "main" java.
我阅读了几篇有关此问题的文章,但仍然不明白如何解决我的问题。我正在使用此源作为起点创建一个 Spring Web 服务: http://eggsylife.co.uk/2010/01/03/sprin
我使用Springframework的ClassPathXMLApplicationContext来初始化一些bean,如下所示: ctx = new ClassPathXMLApplicatio
这个问题已经有答案了: BeanFactory vs ApplicationContext (22 个回答) 已关闭 8 年前。 以下两条语句显然都是用于加载 xml 配置,但它们之间有什么区别? A
这个问题已经有答案了: What causes and what are the differences between NoClassDefFoundError and ClassNotFoundE
我的代码使用以下代码实例化一个 spring 实例: String filePath = "applicationContext.xml"; ApplicationContext context =
我在使用Springs框架时遇到了一个问题,导致服务器和数据库之间无法通信。 我创建的项目是Spring项目,然后重构为Maven。 在代码中的这一行:ClassPathXmlApplicationC
我是一名优秀的程序员,十分优秀!