1. 程式人生 > >SpringBoot學習<一>——快速搭建SpringBoot

SpringBoot學習<一>——快速搭建SpringBoot

color void 開始 release 運行 可選 pom 成功 註解

這是我的第一篇博客,博客記錄我以後的學習,包括一些總結之類的東西,當然,這些記錄是針對於與我個人而言的,可能有些地方會有不好的,或者出現錯誤,歡迎大家來指正(如果有人看的話)廢話不多說。進入正題:SpringBoot

當我在學習SSM框架的時候,先不談Spring的一些核心開年,比如DI ,IOC,AOP等等,只是剛開始它的那些配置就讓我覺得很頭痛,在網上看了很多配置,但是很雜,而我自己在看了這些很雜的配置後,自己慢慢總結了配置,但也花了不少時間才真正的去弄懂它,不過這已經讓我這個對設計思想一無所知的菜鳥來說, 我還不如直接new一個對象呢,雖然知道這種想法是很蠢,卻足以說明我對Spring這些配置的頭痛了,更不要說還要去整合mybaits的配置。顯然,我這種菜鳥都能考慮到這點,Pivotal公司不可能考慮不到,所以出現了一種新的東西,SpringBoot,這對於我來說,簡直就是Spring,當然,SpringBoot不是一種新的技術,只是一種自動整合了很多在開發中需要的配置,讓我們這種菜鳥再也不要去為這些配置去煩心了(可能僅僅只是我)。

Spring官方提供SpringBoot的Eclipse插件去開發,不過,本人因為有一次使用Spring的插件覺得麻煩,就一直不想用著東西,所以還是用Eclipse原生的東西去學習。那麽,我們開始快速的搭建一個SpringBoot的demo吧

首先,先看Maven的POM文件:

<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>com.sam.springboot</groupId>
	<artifactId>springboot-demo-02</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->
	<!-- springboot項目的父工程包 -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.0.RELEASE</version>
	</parent>
	<!-- 指定UTF-8字符集和java 1.8 的編譯 -->
	<properties>
		<project.bulid.sourceEncoding>UTF-8</project.bulid.sourceEncoding>
		<project.reproting.outputEncoding>UTF-8</project.reproting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
		<!-- springboot 的web jar包 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

        <!-- springboot 的test jar包 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!-- springboot 的開發工具包   可選 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

	</dependencies>

	<build>
		<plugins>
		    <!-- springboot的打包插件 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
	<packaging>war</packaging>
</project>

官方建議springboot用gradle來管理jar,不過我一直用的Maven,所以就這麽用吧,代碼裏面註釋說的很清楚,我就不在解釋,只是parent的這個可以還有一種方式 ,不過一般都用這種方式,另一種需要了解的可以去網上找。

然後我們建SpringBoot的程序入口

package com.sam.springboot;

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

@SpringBootApplication
public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class,args); } }

這樣就可以啦 ,我們運行的時候像平常運行main方法就行啦。註意註解@SpringBootApplication,這個註解開啟自動配置,有興趣可以點進裏面去看下,它集合了幾個註解,還有一點值得註意的是,這個入口類的位置必須得是在其他類上面的包上,因為他會有一個掃描的註解去掃描其他包。

然後我們在建一個Controller層:

最後我們啟動會出現一個SpringBoot的標誌。然後看日誌後面,基本就啟動成功了,訪問我們的路徑,就OK了,tomcat是嵌入式的,默認端口為8080,容易吧!是不是感覺比以前的配置好的多,不過如果你沒有學spring基礎的東西,那麽springboot報 了錯你也會一無所知。

@RestController
@RequestMapping("/demo/")
public class DemoController {
	
	@Value(value="${sam.secret}")
	private String secret;

	@Value(value="${sam.number}")
	private Integer number;
	
	@RequestMapping()
	public String demo() {
		return "Hello SpringBoot!";
	}
	
	@RequestMapping("name")
	public Map<String, String> sayHello(@RequestParam("name") String name) {
		Map<String, String> map = new HashMap<>();
		map.put("name", name);
		map.put("value", "Hello "+name);
		map.put("secret", secret);
		map.put("number", number.toString());
		System.out.println(number);
		return map;
	}

SpringBoot學習<一>——快速搭建SpringBoot