Printemps De Contrôleur De Démarrage 404
Je suis assez nouveau dans le Printemps de Démarrage et d'essayer de construire une simple application web. J'ai défini une classe contrôleur contenant mon mappage d'url, mais sur le navigateur, il me donne une étiquette blanche page d'erreur(404). Je ne suis pas en mesure de comprendre pourquoi il n'est pas en mesure de carte. J'ai essayé de changer mon composant d'analyse du forfait de base, mais ça ne fonctionne toujours pas me diriger vers la page "abc" ou "print" dans le contrôleur" dans la console.
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>bms</groupId>
<artifactId>com.wellmanage.bms</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>BMS</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</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>
</project>
Contrôleur de classe
package com.wellmanage.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class BookController {
@RequestMapping("/")
public String hello() {
System.out.println("in controller");
return "abc";
}
}
Classe principale
package com.wellmanage.bms;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class BmsApplication {
public static void main(String[] args) {
SpringApplication.run(BmsApplication.class, args);
}
}
nom de la page est "abc" pas bonjour.Désolé pour la faute de frappe.
Assurez-vous que vous utilisez
Assurez-vous que vous utilisez
@RestController
pas @Controller
.
OriginalL'auteur Gaurav Bipul | 2016-05-20
Vous devez vous connecter pour publier un commentaire.
La
BmsApplication
classe est placé sous lacom.wellmanage.bms
et de package par défaut, le@SpringBootApplication
annotation pistes composant de balayage à l'aide de ce paquet la racine. Depuis leBookController
est à l'intérieur decom.wellmanage.controller
, le paquet est omis par la configuration par défaut.Vous avez deux options:
com.wellmanage
.De la configuration que vous avez posté, il semble que vous n'avez pas défini de tout moteur de template. Retour de la Chaîne "abc" à partir de votre contrôleur est donc ignoré.
Le package de la classe de configuration qui est annoté avec
@ComponentScan
(ou@SpringBootApplication
qu'il enroule@ComponentScan
) est utilisé comme répertoire racine pour le volet recherche. Si tous les composants que vous souhaitez rechercher automatiquement sont sous cette racine paquet que vous n'avez pas à reconfigurer@ComponentScan
. Dans votre cas, le package racine a été fixé à com.wellmanage.bms, d'où le contrôleur à l'intérieur de com.wellmanage.contrôleur ne pouvait pas être trouvé, parce que le controller le paquet n'est pas en vertu de bms.OriginalL'auteur Daniel Olszewski