Ich lese mehrere ähnliche Fragen und Antworten zu autowire
und BeanCreationException
und es scheint, dass die Hauptquelle des Problems ist in der Regel ComponentScan
Annotation und der Projektbaum.Spring Boot, Autowire Mongo Repo generiert BeanCreationException
Aber ich kann immer noch nicht verstehen, warum meine Anwendung diese Ausnahme auslöst. Hier ist die 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.test.game</groupId>
<artifactId>gameP</artifactId>
<version>0.1.0</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>2.0.2-beta</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Die Anwendung Läufer mit der SpringBootApplication
Anmerkung
package core.main.exec;
@SpringBootApplication
@Configuration
@ComponentScan("core.main")
public class ApplicationRunner implements CommandLineRunner {
@Autowired
GameEntityRepository repo;
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(ApplicationRunner.class, args);
}
@Override
public void run(String... args) throws Exception {
Game newGame = new Game();
newGame.setId(1213123L);
newGame.setName("halo 123");
newGame.setDeck("Duck");
newGame.setMedium_url("url");
repo.save(newGame);
}
}
Und das Repository definiert ist als Gebrüll
package core.main.controller;
public interface GameEntityRepository extends MongoRepository {
}
Und die Mongo Einheit Game
benannt ist als unter
package core.main.mongoentity;
@Document
public class Game {
@Id
private Long id;
private String deck;
private String name;
private String medium_url;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDeck() {
return deck;
}
public void setDeck(String deck) {
this.deck = deck;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMedium_url() {
return medium_url;
}
public void setMedium_url(String medium_url) {
this.medium_url = medium_url;
}
}
Sobald ich die Anwendung ausführen bekomme ich ein BeanCreationException
mit der folgenden Fehlermeldung
kann nicht autowire Feld: core.main.controller.GameEntityRepository core.main.exec.ApplicationRunner.repo
Ich bin nicht sicher, warum Sie die @EnableJpaRepositories Anmerkung hinzugefügt. Aber wenn ich nur den Entity-Scan hinzufüge, bekomme ich einen neuen Fehler, der besagt, dass Fehler beim Erstellen von Bean mit dem Namen 'embeddedServletContainerCustomizerBeanPostProcessor' aufgetreten ist. – Salman9
dieser Kater Fehler Ihr jetzt Ihre Bohnen erstellt erfolgreich –
Es gibt keine Tomcat Abhängigkeit in der Pom. vielleicht vermisse ich da etwas ?! – Salman9