這是我學習SpringBoot的入門系列哦,歡迎閱讀。
SpringBoot的簡介我就不寫一個篇章來介紹了,相信大家搜尋一下,網上一大堆。
首先,SpringBoot的推出不是用來替代Spirng的,而是精簡Spring的配置的。也就是優化Spirng的。
下面直接上執行個體吧。
環境配置:
win7
Intellij IDEA 使用的是2016 1.2以後的版本
JDK1.8
Maven 3.3.9
Tomcat/8.5.6
建立項目工程
使用IDEA建立一個SpringBoot項目。
第一種建立方式 -使用Spring Initializr的方式
這種方式很簡單。
注意這裡的URL是: https://start.spring.io , 這個連接配接需要網絡,用來查詢Spring Boot的目前可用版本群組件清單!
然後選擇下一步。
注意這些地方的選擇!
然後點next。
在這裡選擇SpringBoot版本和SpringBoot元件!
例如我選擇了Web項目元件。
點next
OK,這樣就建出了SpringBoot的骨架了!
SpringBootHelloApplication.java
package cn.hncu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootHelloApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootHelloApplication.class, args);
}
}
pom.xml
它自動生成的SpringBoot!注意,需要的包比較多,如果你以前沒有那些包,可能下載下傳需要一定時間,如果中途網絡不好什麼的,導緻包下載下傳不完全,那麼解決辦法就是把那個包删去,以及pom.xml中對應的語句也删去,然後再重新寫到pom.xml中,重新下載下傳對應的包!我就在這裡被坑過一次!是以總是出現class找不到!
<?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>cn.hncu</groupId>
<artifactId>springboothello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springBoot-Hello</name>
<description>SpringBoot�HelloWord</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
第二種建立方式-使用建立Maven的方式
這種方式就是需要我們自己手動多寫一些代碼!
在這裡我們選擇Maven 的建立方式。在這裡不做過多解釋了。。。
現在的pom.xml是這樣的
<?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>cn.hncu</groupId>
<artifactId>springBootHelloM</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
修改為
<?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>cn.hncu</groupId>
<artifactId>springBootHelloM</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.4.2.RELEASE</version>
</dependency>
</dependencies>
</project>
這個不會幫你建好SpringBoot的骨架!是以要自己建
SpringBootHelloApplication
package cn.hncu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Created with IntelliJ IDEA.
* User: 陳浩翔.
* Date: 2017/1/22.
* Time: 下午 5:25.
* Explain:
*/
@SpringBootApplication
public class SpringBootHelloApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootHelloApplication.class,args);
}
}
使用注解@SpringBootApplication來标注它是一個SpringBoot應用,main方法使它成為了一個主程式。将在應用啟動的時候執行!
這main方法裡面的SpringBootHelloApplication這個類名,必須是使用了 @SpringBootApplication這個注解的類的類名哦。
Hello
package cn.hncu;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created with IntelliJ IDEA.
* User: 陳浩翔.
* Date: 2017/1/22.
* Time: 下午 5:27.
* Explain:
*/
@RestController
public class Hello {
@RequestMapping("/")
String home(){
return "你好,世界";
}
}
這個就是springMvc的注解配置了。
等會就是直接通路:http://localhost:8080/ 然後看網頁上的顯示。
然後,我們直接運作那個main方法!
2017-01-22 17:32:23.270 INFO 19888 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2017-01-22 17:32:23.322 INFO 19888 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2017-01-22 17:32:23.334 INFO 19888 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.6
使用的Tomcat的通路端口和版本,都可以在輸出的日志中看到!
然後我們通路網址:
http://localhost:8080/
我也是第一次使用SpringBoot,怎麼說這個呢,現在給我的感覺就是簡單很多了,以前部署Spring-Web項目是需要很多步驟的,現在變得特别簡單,難怪現在SpringBoot越來越火了啊。确實感覺,小型項目架一個SpringBoot要省很多事。
我用的是Maven的方式建立的哦。
因為用Spring Initializr方式建立的話,就更簡單!pom.xml和SpringBoot的入口程式都不用你寫!
我會繼續學下去,然後把自己的體驗寫出來,加油↖(^ω^)↗,謝謝大家支援.
本系列兩個項目源碼:
https://github.com/chenhaoxiang/SpringBoot/tree/master/day1