java - 使用STS,如何添加应用上下文

标签 java spring maven applicationcontext

我需要一些帮助来设置 Spring 项目。 我正忙着阅读《Spring in action》这本书,我需要尝试一些例子。我已经看了很多页,但没有地方看出我哪里出错了。这一定是我错过或忽略的愚蠢的事情。

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

项目概要如下

enter image description here

我创建了我的bean(实现汽车接口(interface)的vwCar和nissanCar),并且在使用它们的地方我在应用程序类中有一个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?

Spring indicator on project folder

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

最佳答案

由于您使用的是 Maven,因此您应该将以下依赖项添加到 pom.xml 中:

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>

</dependency>

其中 ${org.springframework-version} 应替换为您正在使用的版本。

这将确保您的应用程序可以使用启动所需的 Spring jar。

It must be something silly that I missed or overlooked.

我认为您只是忽略了 Maven 的依赖管理功能。创建 Java/Maven 项目不会引入所需的 Spring jar。如果您使用 STS 登录页面中的模板项目,则所有这些都已完成设置。

关于java - 使用STS,如何添加应用上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11281791/

相关文章:

java - NotReadablePropertyException : Invalid property '<collection element>' when validating list of string

java - 如何防止 hibernate3-maven-plugin HBM2DDL 打印到控制台

java - 多语言项目中的 Sonar 错误 : File can't be indexed twice

java - 构建和公开机器学习模型 REST api 的最佳方法是什么?

java - 由于 HTML 中存在 '&' 字符,使用 SAX 解析失败

java - spring jdbc连接远程mysql失败,而localhost正常

java - 插件依赖的Maven依赖管理

java - 无法在填充的矩形上渲染图像

java - 如何在 Spring Flux 错误处理程序中访问引用源对象?

java - Spring Boot 的执行器端点在测试期间可用