1

我需要一些帮助来建立一个春季项目。我正忙于阅读“Spring in action”一书,我需要尝试一些示例。我查看了很多页面,但无处可以看到我哪里出错了。这一定是我错过或忽视的一些愚蠢的事情。

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

该项目的大纲如下所示

在此处输入图像描述

我创建了我的 bean(实现汽车接口的 vwCar 和 nissanCar),并且在使用它们的地方我在 app 类中有一个 main 方法。我需要创建一个应用程序上下文。

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

但是我很难创建 ApplicationContext。它给了我一个错误并且代码辅助不起作用

使用代码辅助它唯一建议的是(在键入应用程序后 按Ctrl+ ):Space输入 app 后按 Ctrl+Space

如果我只是输入它,我会收到一个错误

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

有什么我应该自己导入的吗?

我可以在项目文件夹上看到一个“S”——这是否表明该项目已经启用了弹簧?

项目文件夹上的弹簧指示器

---------在 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>
4

1 回答 1

2

由于您使用的是 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 登录页面中的模板项目,这一切都已设置好。

于 2012-07-01T12:26:00.860 回答