使用STS,如何添加应用程序上下文

时间:2012-07-01 12:02:50

标签: java spring maven applicationcontext

我需要一些关于设置弹簧项目的帮助。 我正忙着阅读“Spring in action”这本书,我需要尝试一些例子。我看过很多页面,无处可看到我出错的地方。我错过或忽略了一定是愚蠢的事情。

  1. 我安装了Spring源工具包
  2. 创建了一个新的java / maven项目
  3. 添加了一个新的applicationContext.xml bean定义文件
  4. 项目概要如下

    enter image description here

    我创建了我的bean(实现汽车界面的vwCar& nissanCar)以及使用它们的地方我在app类中有一个main方法。我需要创建一个应用程序上下文。

    ApplicationContext context = new ClassPathApplicationContext("src/main/resources/applicationContext.xml");
    

    但是我在创建ApplicationContext时遇到了困难。它给我一个错误,代码辅助不起作用

    使用代码辅助它唯一建议的是(键入app后按 Ctrl + Space ): Pressing Ctrl+Space after typing app

    如果我输入它我会收到错误

    ApplicationContext cannot be resolved to a type in class App.java
    

    我应该自己导入一些东西吗?

    我可以在项目文件夹中看到“S” - 这是否表示该项目已启用弹簧?

    Spring indicator on project folder

    ---------在ALEX注意到我建议我应该添加一个依赖性之后添加-------------

    我添加了像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>
    

1 个答案:

答案 0 :(得分: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登录页面中的模板项目,那么这些都将被设置为。