功能 | 說明 |
---|---|
Maven | 3.3+ |
JDK | 1.8+ |
Spring Boot | 2.1.14.RELEASE |
Spring Framework | 5.1.15.RELEASE |
添加 web 環境依賴java
<?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>org.example</groupId> <artifactId>springboot-learn</artifactId> <version>1.0-SNAPSHOT</version> <description>基於Spring Boot的案例</description> <packaging>jar</packaging> <properties> <java.version>1.8</java.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.14.RELEASE</version> </parent> <dependencies> <!-- spring boot web 依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
// @RestController 爲組合註解,等同於 Spring中的:@Controller + @ResponseBody @RestController public class LearnController { @RequestMapping("/hello") public String hello() { return "你好 Spring Boot"; } }
@SpringBootApplication public class LearnApplication { public static void main(String[] args) { SpringApplication.run(LearnApplication.class, args); } }
問題:啓動主程序類的位置是否能夠隨便放?web
運行項目主程序啓動類LearnApplication類,啓動成功後,能夠看見默認端口爲8080spring
頁面輸出爲 「你好 Spring Boot」。apache
至此,構建Spring Boot項目就完成了。springboot
開發中,每當完成一個功能接口或業務方法編寫後,一般須要藉助單元測試驗證功能是否正確。markdown
Spring Boot對單元測試提供了很好的支持,在使用是,直接在pom.xml文件中添加app
spring-boot-starter-test測試依賴啓動器,能夠經過相關注解實現單元測試。框架
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
// 測試啓動類,並加載Spring Boot測試註解 @RunWith(SpringRunner.class) // 標記爲Spring Boot單元測試類,並加載項目的ApplicationContext上下文環境 // classes 知道項目主程序啓動類 @SpringBootTest(classes = LearnApplication.class) public class LearnApplicationTest { @Autowired private LearnController learnController; @Test public void test() { String hello = learnController.hello(); System.out.println(hello); } }
在開發過程當中,一般會對一段業務代碼不斷的操做修改,在修改以後每每要重啓服務,有些服務須要加載好久才能啓動成功,這種沒必要要的重複操做極大的下降了程序開發效率。爲此,Spring Boot框架專門提供了進行熱部署的依賴啓動器,用於進行項目熱部署,無需手動重啓項目。maven
<!-- 熱部署依賴啓動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
選擇IDEA工具界面【File】-【Settings】,打卡Compiler界面,勾選【Build project automatically】ide
點擊 Apply 應用,以及OK保存。
在項目任意界面使用組合快捷鍵【Ctrl+Alt+Shift+/】打開Maintenance選項框,選中並打開Registry頁面
列表中找到【compiler.automake.allow.when.app.running】,將該值Value進行勾選。用於指定IDEA工具在程序運行過程當中自動編譯,最後單擊【Close】按鈕完成設置
啓動項目,訪問 http://localhost:8080/hello
修改 「你好」 爲 「hello」
爲了測試熱部署的是否有效,接下來,在不關閉項目的狀況下,將LearnController類中數據修改,並保存,查看控制檯會發現項目可以自動構建和編譯,說明熱部署生效