Intellij建立簡單Springboot專案
阿新 • • 發佈:2018-11-29
Intellij建立簡單Springboot專案
第一步:選擇建立新專案——file-new-project
第二步:選擇專案型別——Spring Initializr-next
第三步:輸入專案資訊——Spring Initializr-next
第四步:選擇Spring組建——web-web(勾選)
第五步:修改專案名稱和專案路徑(預設即可)——Finish
第六步:寫一個Demo Controller層(controller的程式碼必須和SpringbootDemoApplication.java位於同級目錄或之下)
//Main方法,專案從這裡iahsi啟動,是專案建立時自動生成的; package com.example.springboot_demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootDemoApplication.class, args); } }
//自定義Controller方法(注意@RestController的使用) package com.example.springboot_demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoController { @RequestMapping("/login") public String login(){ return "login success!"; } }
第七步:啟動專案,並用瀏覽器訪問專案
//啟動日誌輸出 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.0.RELEASE) 2018-11-29 09:47:16.011 INFO 14668 --- [ main] c.e.s.SpringbootDemoApplication : No active profile set, falling back to default profiles: default 2018-11-29 09:47:17.710 INFO 14668 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2018-11-29 09:47:17.734 INFO 14668 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2018-11-29 09:47:17.735 INFO 14668 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/9.0.12 2018-11-29 09:47:17.899 INFO 14668 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2018-11-29 09:47:17.899 INFO 14668 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1802 ms 2018-11-29 09:47:17.933 INFO 14668 --- [ main] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/] 2018-11-29 09:47:17.939 INFO 14668 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*] 2018-11-29 09:47:17.940 INFO 14668 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*] 2018-11-29 09:47:17.940 INFO 14668 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'formContentFilter' to: [/*] 2018-11-29 09:47:17.940 INFO 14668 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*] 2018-11-29 09:47:18.203 INFO 14668 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2018-11-29 09:47:18.482 INFO 14668 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2018-11-29 09:47:18.487 INFO 14668 --- [ main] c.e.s.SpringbootDemoApplication : Started SpringbootDemoApplication in 3.183 seconds (JVM running for 4.749)
備註:一開始在DemoController上用@Controller註解,發現不起效果;原來@RestController和@Controller是有區別的。
通過檢視@RestController的原始碼發現:@RestController註解 = @ResponseBody + @Controller
package org.springframework.web.bind.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.core.annotation.AliasFor; import org.springframework.stereotype.Controller; @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Controller @ResponseBody public @interface RestController { @AliasFor( annotation = Controller.class ) String value() default ""; }
參考資料:
1- https://blog.csdn.net/xyc_csdn/article/details/67672198
2- https://www.cnblogs.com/shuaifing/p/8119664.html