SpringBoot初探
阿新 • • 發佈:2018-04-12
uil run cee mls with enc 8 8 空項目 最終
一:前言
今天面試得知對方會用到SpringBoot,而自己之前一直用的是SpringMVC,現通過寫個簡單的Demo來入個門;
二:項目創建
個人用的是IDEA來做Demo的;
1.先創建一個空項目,然後創建一個基於Maven的java application項目;
2.創建好後配置pom.xml文件並最終reimport
<?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>me.silentdoer</groupId> <artifactId>spring-boot-test</artifactId> <version>1.0-SNAPSHOT</version> <!-- 配置parent,這個就像applicationContext.xml裏配置的一樣,作為其它子元素的抽象父元素,但是允許子元素重寫配置 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <!-- 註意大小寫 --> <version>1.5.7.RELEASE</version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.outputEncoding>UTF-8</project.build.outputEncoding> <java.version>1.8</java.version> <bootgi>org.springframework.boot</bootgi> </properties> <dependencies> <dependency> <!-- 由於上面配置了parent,故這裏只需要配置那些需要覆寫的即可(groupId還是得有),這個包裏有包括web所需的所有SpringMVC的jar包 --> <groupId>${bootgi}</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
3.創建me.silentdoer.springboot.MySpringBootApplication類
package me.silentdoer.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author silentdoer * @version 1.0 * @description the description * @date 4/12/18 7:17 PM */ /** * TODO 此註解指定下面的類是springboot的啟動類,然後SpringApplication.run(...)時會自動去加載依賴的jar包/模塊等(如tomcat) * 順便還從這個註解的源碼裏學到了創建註解對象時還可以通過“構造方法”初始化“屬性”,然後註解的聲明裏還可以聲明內部註解 */ @SpringBootApplication public class MySpringBootApplication { public static void main(String[] args){ // TODO 註意,tomcat本質上是一個java application,這裏內部實際上是運行了一個tomcat // TODO 實現原理可以看:org.apache.catalina.startup.Bootstrap.main()方法 SpringApplication.run(MySpringBootApplication.class, args); } }
4.創建一個Controller類為me.silentdoer.springboot.controller.TestController
package me.silentdoer.springboot.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author silentdoer * @version 1.0 * @description the description * @date 4/12/18 8:02 PM */ @RestController // 使得不返回視圖 public class TestController { // RESTFul api with get method. @GetMapping("/hello") // 可以理解為RequestMethod.GET的RequestMapping,這裏默認就是返回字符串而不需要viewResolver,如果需要要配置pom和application.properties public String hello(){ return "hello."; } }
到這一步就可以對MySpringBootApplication run as java application了,然後瀏覽器裏輸入http://localhost:8080/hello得到輸出hello.說明第一個SpringBoot程序創建成功;
SpringBoot初探