1. 程式人生 > >SpringBoot初探

SpringBoot初探

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初探