我正在尝试在@RestController中使用@Autowired,但在我的项目中找不到@Autowired。我正在关注它Building REST services with Spring
我写过它是因为我没有看到关于@Autowired DI的任何类似内容。
我的带有spring-boot的pom.xml,我的@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>
答案 0 :(得分:3)
@Autowired是spring-beans-XXX.jar的一部分。 spring-boot-starter将具有spring-beans作为transnsitive dependancy。所以spring-beans * .jar必须在你的类路径中。这似乎是IDE的一些问题。
尝试重新启动IDE。如果您使用的是Intellij,请选择以下选项 - 文件 - &gt;无效缓存/重新启动。
首先尝试构建项目,以便下载所有jar并在类路径中可用。
尝试在类路径中手动添加spring-beans * .jar,如果以上都不起作用。
答案 1 :(得分:1)
我不知道Spring Boot,但你在import org.springframework.beans.factory.annotation.Autowired;
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>your release version</version>
</dependency>