我的问题描述
我试图在我的@RestController中使用@Autowired,但在我的项目中找不到@Autowired。我正在关注Building REST services with Spring
- 我忘记在 pom.xml 中放入什么?
我写它是因为我没有看到任何关于 @Autowired DI 的类似内容。
POM.XML
我的 pom.xml 带有 spring-boot,我的 @Autowired 在我的项目中找不到。
我忘记在 pom.xml 中放入什么?
<?xml version="1.0" encoding="UTF-8"?>
<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>com.kenny</groupId>
<artifactId>gsbookmarks</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
最佳答案
@Autowired 是 spring-beans-XXX.jar 的一部分。 spring-boot-starter 将使用 spring-beans 作为传递依赖。因此 spring-beans*.jar 必须位于您的类路径中。这似乎是IDE的一些问题。
尝试重新启动 IDE。如果您使用 Intellij,请选择以下选项 - 文件 -> 无效缓存/重新启动。
首先尝试构建项目,以便下载所有 jar 并在类路径中可用。
如果以上方法都不起作用,请尝试在类路径中手动添加 spring-beans*.jar。
关于java - 在我的带有 spring-boot 的项目中找不到@Autowired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46883148/