使用 STS,如何添加应用上下文
Posted
技术标签:
【中文标题】使用 STS,如何添加应用上下文【英文标题】:Using STS, how to add application context 【发布时间】:2012-07-01 12:02:49 【问题描述】:我需要一些帮助来设置一个 Spring 项目。 我正忙于阅读“Spring in action”一书,我需要尝试一些示例。我查看了很多页面,但无处可以看到我哪里出错了。一定是我错过或忽略了一些愚蠢的事情。
-
我安装了Spring源码工具套件
创建了一个新的 java/maven 项目
添加了新的 applicationContext.xml bean 定义文件
项目大纲如下
我创建了我的 bean(实现汽车接口的 vwCar 和 nissanCar),并且在使用它们时,我在 app 类中有一个 main 方法。我需要创建一个应用程序上下文。
ApplicationContext context = new ClassPathApplicationContext("src/main/resources/applicationContext.xml");
但我很难创建 ApplicationContext。它给了我一个错误并且代码辅助不起作用
使用代码辅助它唯一建议的是(在键入 app 后按 Ctrl+Space):
如果我只是输入它,我会得到一个错误
ApplicationContext cannot be resolved to a type in class App.java
有什么我应该自己导入的吗?
我可以在项目文件夹上看到一个“S” - 这不是表示该项目已经启用了 spring 吗?
---------在 ALEX 评论建议我应该添加一个 MAVEN 依赖项之后添加-------------
我像 Alex 建议的那样添加了缺少的依赖项,但我不知道正确的版本是什么。如果我查看 STS 目录,我会看到几个名为 ... 2.9.2 的文件
org.springframework.ide.eclipse.feature_2.9.2.201205070117-RELEASE
但是如果我使用 2.9.2 添加依赖项,我的 POM 上会出现以下错误
Missing artifact org.springframework:spring-context:jar:2.9.2
我的 POM 如下所示
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.chrispie</groupId>
<artifactId>MyMavenSpringProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>MyMavenSpringProject</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>2.9.2</version>
</dependency>
</dependencies>
</project>
【问题讨论】:
我添加了 Alex 指出的依赖项... 【参考方案1】:由于您使用的是 Maven,您应该将以下依赖项添加到您的 pom.xml:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>$org.springframework-version</version>
</dependency>
$org.springframework-version
应替换为您正在使用的版本。
这将确保启动所需的 Spring jar 可用于您的应用程序。
一定是我错过或忽略了一些愚蠢的事情。
我认为您只是忽略了 Maven 的依赖项管理功能。创建 Java/Maven 项目不会引入所需的 Spring jar。如果您使用 STS 登录页面中的模板项目,这一切都已经设置好了。
【讨论】:
谢谢亚历克斯,我肯定没有将它添加到我的 pom.xml 中。你知道我在哪里可以找到正确的版本吗? 我确实添加了依赖项,并且我认为该版本基于我在 STS 目录中可以看到的版本。它抱怨版本号。 我会使用 3.1.1.RELEASE 版本。最新和最伟大的。 :) 谢谢 Alex... 我在 Maven 依赖管理的帮助文档下查看了 STS 发布管理。表示版本应为以上是关于使用 STS,如何添加应用上下文的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 应用程序中添加两个上下文路径
如何在 Spring.Net 应用程序上下文中添加 ASP.NET MVC 控制器?