Spring Boot 初識

來源:互聯網
上載者:User

標籤:tor   配置   path   xml檔案   logs   引入   main   output   bsp   

發展到今天,spring已經是一個大家族了,如果想要使用其中的兩到三個組件就會有多複雜的配置,有時候還有會版本不一致的錯誤,讓人很無奈。於是,就有了spring Boot,spring  Boot  的建立 就是為了簡化spring的配置。用了spring Boot 連web容器都不用配置,spring Boot支援常用的web 容器 Tomcat、Jetty等。 下面我們就來建立一個簡單的spring Boot應用。

我用的是Idea,建立步驟就是  File --》New --》project--》spring  Initalizaer  next next next  finish就可以。

spring Boot還對以下NoSql支援,比如redis,MongoDB,Neo4j
spring Boot 對資料庫連接的支援有 JPA,Hibernate,Spring JDbc。
spring Boot 還支援 多個資料庫連接。

等會系統就會自動組建檔案application.properties, 這時候 這個檔案是空的。還有FirstSpringBootApplication.java和FirstSpringBootApplicationTests.java。再開啟pom.xml 就會發現裡面已經注入了一些依賴,External Libraries裡也已經自動引入了一些依賴包。我們可以看到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>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>FirstSpringBoot</name>
<description>Demo project for Spring Boot</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.M4</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</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>
這個時候的pom.xml 是不能夠滿足我們需要的,我們還需要添加一個spring boot對spring web的依賴支援。

<!-- spring -web 的spring boot支援-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

這個時候,我們需要在application.properties裡面添加一些server資訊。
server.port= 9696

我們再在FirstSpringBootApplication.java裡面添加如下代碼。

 

然後運行main方法,整個服務就啟動了。

在瀏覽器裡輸入地址localhost:9696

就可以看到控制台列印了 Hello World

這樣一個簡單的spring Application  就已經開發完成了。

 

這個時候,我們可以查看控制台列印資訊,發現預設用的tomcat,如果你想用jetty可以在pom.xml裡添加如下依賴

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-jetty</artifactId></dependency>
就會使用jetty

接下來 我們加入資料庫連接,使用Jpa.
我們需要在pom.xml中加入相應的依賴。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>


首先要在application.properties檔案裡添加資料庫的屬性

然後寫一個Userwe實體並產生getter和setter方法。

然後寫一個介面userDao 繼承JpaRepository 裡面的代碼就可以不用寫了

 

再寫一個UserAction來測試以下,我們的資料庫連接。

然後在瀏覽器裡輸入localhost:9696/addUser?username=xx&password=xx

就會看到控制台有列印資訊。

再從資料庫中查詢,就看到這個使用者已經插入到資料庫中了。

到現在,整個入門案例就完了。有沒有發現spring Boot很簡單。

補充一點,spring Boot提供自己的測試方法。

我們來看下代碼和列印結果,你就知道和以前的junit和Spring Test有什麼不同了。(HelloAction 只是列印 Hello World 和返回Hello World)

我們來看下運行結果:

Hello World!

MockHttpServletRequest:
HTTP Method = GET
Request URI = /hello
Parameters = {}
Headers = {Accept=[application/json]}
Body = <no character encoding set>
Session Attrs = {}

Handler:
Type = com.example.demo.HelloAction
Method = public java.lang.String com.example.demo.HelloAction.sayHello()

Async:
Async started = false
Async result = null

Resolved Exception:
Type = null

ModelAndView:
View name = null
View = null
Model = null

FlashMap:
Attributes = null

MockHttpServletResponse:
Status = 200
Error message = null
Headers = {Content-Type=[application/json;charset=ISO-8859-1], Content-Length=[12]}
Content type = application/json;charset=ISO-8859-1
Body = Hello World
Forwarded URL = null
Redirected URL = null
Cookies = []

是不是比我們平常用的Junit返回的東西要更全面。所以,速度有些慢。

 

 







 

Spring Boot 初識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.