如何創建最簡單的 Spring Boot Rest Service 監聽 8081 端口?
已發表: 2020-08-18在本教程中,我們將詳細介紹如何創建最簡單的 Spring Boot Web 應用程序,它偵聽端口 8081?
本教程基於 IntelliJ IDEA 文章中的第一個 Spring Boot HelloWorld 應用程序。
如何通過幾個簡單的步驟在 IntelliJ IDEA 中創建第一個 Spring Boot HelloWorld 應用程序?
請確保遵循上述教程並修改步驟 4 和 5。
讓我們開始吧:
步驟 1、2 和 3。
請按照上述 Spring Boot 應用程序教程中的步驟 1、2 和 3 進行操作。
第四步
- 請添加 Spring Boot Web 依賴項。
- 春季網絡
- 春季網絡服務
- 球衣
- 點擊下一步
第 5 步
- 打開文件:CrunchifywebappApplication.java 並輸入以下代碼。
- 如果您看到任何錯誤,請確保更改包和文件名。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
package com . example . crunchify . crunchifywebapp ; import org . springframework . boot . SpringApplication ; import org . springframework . boot . autoconfigure . SpringBootApplication ; import org . springframework . web . bind . annotation . GetMapping ; import org . springframework . web . bind . annotation . RequestParam ; import org . springframework . web . bind . annotation . RestController ; /** * @author Crunchify.com * First Spring Hello World Web Application which listens on port 8081. * Version: 1.0 */ // SpringBootApplication: Indicates a configuration class that declares one or more @Bean methods and also triggers auto-configuration and component scanning. // This is a convenience annotation that is equivalent to declaring @Configuration, @EnableAutoConfiguration and @ComponentScan. // RestController: A convenience annotation that is itself annotated with @Controller and @ResponseBody. // Types that carry this annotation are treated as controllers where @RequestMapping methods assume @ResponseBody semantics by default. @ SpringBootApplication @ RestController public class CrunchifywebappApplication { public static void main ( String [ ] args ) { // setProperty: Sets the system property indicated by the specified key. First, if a security manager exists, its SecurityManager.checkPermission method is called with a PropertyPermission(key, "write") permission. This may result in a SecurityException being thrown. // If no exception is thrown, the specified property is set to the given value. System . setProperty ( "server.port" , "8081" ) ; System . setProperty ( "http.maxConnections" , "10" ) ; // run: Static helper that can be used to run a SpringApplication from the specified source using default settings SpringApplication . run ( CrunchifywebappApplication . class , args ) ; } @ GetMapping ( "/crunchify" ) public String heyCrunchify ( @ RequestParam ( value = "name" , defaultValue = "there" ) String crunchify ) { return String . format ( "Hey %s! Congratulations on creating your first Spring Boot Rest Service... by https://crunchify.com" , crunchify ) ; } } |
第 6 步
- 構建項目
- 右鍵單擊java文件並作為應用程序運行
您應該看到下面的控制台輸出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Java HotSpot ( TM ) 64 - Bit Server VM warning : Options - Xverify : none and - noverify were deprecated in JDK 13 and will likely be removed in a future release . . ____ _ __ _ _ / \ \ / ___ '_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | ' _ | '_| | ' _ \ / _ ` | \ \ \ \ \ \ / ___ ) | | _ ) | | | | | | | ( _ | | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.3.3.RELEASE) 2020-08-17 13:07:33.379 INFO 71788 --- [ main] c.e.c.c.CrunchifywebappApplication : Starting CrunchifywebappApplication on LM-AUN-11022307 with PID 71788 (/Users/appshah/crunchify/intellij/crunchifywebapp/target/classes started by arpshah in /Users/appshah/crunchify/intellij/crunchifywebapp) 2020-08-17 13:07:33.380 INFO 71788 --- [ main] c.e.c.c.CrunchifywebappApplication : No active profile set, falling back to default profiles: default 2020-08-17 13:07:33.771 INFO 71788 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean ' org . springframework . ws . config . annotation . DelegatingWsConfiguration ' of type [org.springframework.ws.config.annotation.DelegatingWsConfiguration$EnhancerBySpringCGLIB$a474bef9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2020-08-17 13:07:33.814 INFO 71788 --- [ main] .w.s.a.s.AnnotationActionEndpointMapping : Supporting [WS-Addressing August 2004, WS-Addressing 1.0] 2020-08-17 13:07:33.949 INFO 71788 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http) 2020-08-17 13:07:33.954 INFO 71788 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2020-08-17 13:07:33.954 INFO 71788 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.37] 2020-08-17 13:07:34.015 INFO 71788 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2020-08-17 13:07:34.016 INFO 71788 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 606 ms 2020-08-17 13:07:34.117 INFO 71788 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService ' applicationTaskExecutor ' 2020-08-17 13:07:34.202 INFO 71788 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ' ' 2020 - 08 - 17 13 : 07 : 34.210 INFO 71788 --- [ main ] c . e . c . c . CrunchifywebappApplication : Started CrunchifywebappApplication in 1.018 seconds ( JVM running for 1.418 ) |

這是我的 pom.xml 文件,其中包含所有 Web 依賴項:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<? 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 > < parent > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - parent < / artifactId > < version > 2.3.3.RELEASE < / version > < relativePath / > < ! -- lookup parent from repository -- > < / parent > < groupId > com . example . crunchify < / groupId > < artifactId > crunchifywebapp < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < name > crunchifywebapp < / name > < description > Crunchify ' s Hello World Web project for Spring Boot < / description > < properties > < java . version > 11 < / java . version > < / properties > < dependencies > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - jersey < / 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 - web - services < / artifactId > < / dependency > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - test < / artifactId > < scope > test < / scope > < exclusions > < exclusion > < groupId > org . junit . vintage < / groupId > < artifactId > junit - vintage - engine < / artifactId > < / exclusion > < / exclusions > < / dependency > < / dependencies > < build > < plugins > < plugin > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - maven - plugin < / artifactId > < / plugin > < / plugins > < / build > < / project > |
讓我們開始我們的測試:
測試一
訪問網址: http://localhost:8081/crunchify
測試2
訪問網址: http://localhost:8081/crunchify?name=Crunchify
恭喜。 您已經以最快的速度成功創建了 Spring Boot Web 應用程序。