我正在尝试创建一个允许我使用的最小Spring Boot应用程序 ReactJS在前端。
我想要实现的目标
当我运行Spring Boot应用程序时,它应该显示一个带有React的页面 里面的组件。
项目结构
您可以找到源代码here。
我得到了什么
当我
mvn clean
mvn clean spring-boot:run`和http://localhost:8080
,我收到404错误(见下文)。
我该如何解决?
注意:
更新1(07.08.2017 22:17 MSK):
可以找到mvn clean spring-boot:run
的输出here。
更新2(07.08.2017 22:44 MSK):
在RestController
课程中将Controller
更改为MyApp
并移动main
里面的方法没有帮助。
目前,MyApp
类看起来像这样:
@SpringBootApplication
@Controller
open class MyApp {
fun main(args: Array<String>) {
SpringApplication.run(MyApp::class.java,*args)
}
}
答案 0 :(得分:1)
现在我在Kotlin没有经验,但我可以告诉你,你遗漏了以下代码中的内容(除了额外的RestController
注释)。
@SpringBootApplication
@RestController
open class MyApp {
}
在Java中,除了使用ServletContextInitializer
并使用以下静态方法运行之外,该类还实现了main
:
SpringApplication.run(MyApp.class, args);
我希望这会有所帮助。
尝试添加模板解析bean,现在它不是唯一的方法,但值得尝试看起来如下:
@Bean
public ClassLoaderTemplateResolver yourTemplateResolver() {
ClassLoaderTemplateResolver yourTemplateResolver = new ClassLoaderTemplateResolver();
yourTemplateResolver.setPrefix("templates/");
return yourTemplateResolver;
}
并将以下行添加到您的application.properties:
spring.thymeleaf.check-template-location=true
spring.thymeleaf.suffix=.html
不要忘记将百里香进口到你的POM:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>