我正在嘗試部署一個非常簡單的 Spring Boot 應(yīng)用程序,其中導(dǎo)航到 localhost:8080/greetings 會顯示“來自 Spring Boot 的問候語!”。但是,該 URL 似乎不起作用。導(dǎo)航到鏈接提示我出現(xiàn)空指針異常。我對這個問題做了一些初步研究,但以下修復(fù)沒有奏效:將類從默認(rèn)包中移出并移入定義的包中使用@ComponentScan將我的控制器類移動到我的應(yīng)用程序類的子包控制器類:package controllers;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController { @RequestMapping("/greetings") public String index() { return "Greetings from Spring Boot!"; }}應(yīng)用類:package controllers;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.springframework</groupId><artifactId>gs-spring-boot</artifactId><version>0.1.0</version><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version></parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version></properties><dependencies> <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></project>
2 回答
慕森王
TA貢獻(xiàn)1777條經(jīng)驗 獲得超3個贊
無論如何,在 servlet 容器或應(yīng)用程序服務(wù)器中運行 spring-boot 應(yīng)用程序有什么意義?
您最初發(fā)布的應(yīng)用程序在mvn spring-boot:run使用java -jar ./target/gs-spring-boot-0.1.0.jar.
使用 spring-boot 的全部意義在于擁有一個嵌入式容器以便獨立運行應(yīng)用程序。如果不是這樣,我建議減少依賴性,因為當(dāng)部署到 servlet 容器(例如 Tomcat)或應(yīng)用程序服務(wù)器(例如 JBoss)時,您的應(yīng)用程序可以變得更?。患丛?KB 范圍內(nèi)而不是 16MB 范圍內(nèi)。
添加回答
舉報
0/150
提交
取消
