1. 程式人生 > >SpringBoot專欄(二) -- 搭建第一個SpringBoot項目

SpringBoot專欄(二) -- 搭建第一個SpringBoot項目

實現 第一個 obj wire 技術 tco ash pom.xml art

解決問題:

搭建第一個SpringBoot項目?

怎樣使用Maven進行Jar管理?

SpringBoot Jar包簡述?

SpringBoot重要註解簡述?

註意:使用SpringBoot2.0,JDK的版本必須在1.8以上,不然會出現一些不兼容的問題搭建第一個SpringBoot項目(使用IDEA

1. 搭建第一個SpringBoot項目(使用IDEA

1.1 使用IDEA創建一個Maven工程

技術分享圖片

技術分享圖片

GroupIdArtifactId兩個加起來可以理解為項目的“坐標”,他們保證了項目的唯一性。如果你想把自己的項目打成Jar包放到在本地Maven倉庫,就需要使用這兩個值。

GroupId一般是公司名,

ArtifactId一般是項目名

一直Next到結束。

技術分享圖片

Maven項目就建成功了。

1.2 搭建SpringBoot框架

1.2.1 在項目Maven的配置文件pom.xml中添加如下依賴。註意一個是parent,一個是在dependencies中。

技術分享圖片

技術分享圖片

這個依賴是SpringBoot框架的核心依賴包,SpringBoot通過這個依賴包來整合常用的第三方框架(各種依賴信息)。

技術分享圖片

這個依賴是SpringBoot Web的核心依賴包,整合了SpringMVC Web

這裏為什麽不寫版本號?因為在Parent裏面已經封裝好了版本號。SpringBoot對常用依賴的Jar包信息進行了封裝

1.2.2 SpringBoot項目的基本目錄結構

技術分享圖片

(原目錄結構)

技術分享圖片

(SpringBoot的目錄結構

application.ymlSpringBoot的配置文件,名字是固定的。

1.2.3 SpringBoot項目實現(註解含義放到代碼註釋中了,請仔細閱讀)

技術分享圖片

(完整程序目錄結構)

Application.java

package com.mungerz;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

// SpringBootApplication註解:負責啟動SpringBoot項目。這個註解實現了掃描包的功能,掃描範圍是該文件所在的當前目錄和同級目錄。 // 我們需要格外註意這個註解所在文件的位置,因為它和掃包有關系。什麽是掃包?就是發現Service,Controller,Component然後自動註入到Spring容器中。 @SpringBootApplication public class Application { public static void main(String[] args){ SpringApplication.run(Application.class, args); } }

ApiController.java

import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

// RestController註解:說明該類是一個Controller,並且參數和返回值都要求符合Restful要求(即Json字符串)
@RestController
// RequestMapping註解:Controller的類的映射地址。
@RequestMapping("/api")
public class ApiController {

    // Autowired自動註入註解:相當於new ApiService,不過這個工作是由Spring容器自己完成的。AutoWired可以註入Controller,Service,Component這幾種類。
    @Autowired
    private ApiService apiService;

    // RequestMapping註解:方法的映射地址
    @RequestMapping("/info")
    public Map<String, Object> info(Map<String, Object> params){
        return apiService.info(params);
    }
}

ApiService.java

package com.mungerz.service;

import java.util.Map;

// Service層接口
public interface ApiService {
    Map<String, Object> info(Map<String, Object> params);
}

ApiServiceImpl.java

package com.mungerz.service;

import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

// Service註解:說明該類是一個Service類,從邏輯上我們可以知道這個類屬於Service層,應該寫業務邏輯;從功能上,這個類是可以通過Autowired註解註入的。
@Service
public class ApiServiceImpl implements ApiService {
    @Override
    public Map<String, Object> info(Map<String, Object> params) {
        Map<String, Object> result = new HashMap<>();
        result.put("result", "hello world");
        return result;
    }
}

application.yml

spring:
  profiles:
    active: dev

2. 結果驗證

2.1 啟動項目

技術分享圖片

2.2 發送http請求

技術分享圖片

2.3 返回結果

技術分享圖片

(轉載請標明出處)

SpringBoot專欄(二) -- 搭建第一個SpringBoot項目