天天看點

spring-Boot學習筆記(一)

1.spring-Boot簡介

  1. Spring Boot是由Pivotal團隊提供的全新架構,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該架構使用了特定的方式來進行配置,進而使開發人員不再需要定義樣闆化的配置
  2. Spring Boot是spring家族中的一個全新架構,它用來簡化spring應用程式的建立和開發過程,即他能簡化我們之前采取的Spring+Spring MVC+Mybatis架構進行開發的過程
  3. 在以前我們采用ssm(Spring+Spring MVC+Mybatis)架構進行開發的時候,往往在搭建和整合三大架構時需要做很多工作,例如配置web.xml,配置spring,mybatis,然後将他們整合的到一起,然而Spring-Boot對此進行了颠覆,他抛棄了繁瑣的xml配置,采用大量的預設配置簡化了我們的開發過程
  4. Spring Boot讓編碼變得簡單,讓配置變得簡單,讓部署變得簡單,讓監控變得簡單

2.四大特性

1.快速

  • 能夠快速建立基于Spring的應用程式

2.簡單

  • 能夠直接使用java main方法啟動内嵌的Tomcat, Jetty 伺服器運作Spring boot程式,不需要部署war封包件
  • 提供約定的starter POM來簡化Maven配置,讓Maven的配置變得簡單
  • 根據項目的Maven依賴配置,Spring boot自動配置Spring、Spring mvc等
  • 基本可以完全不使用XML配置檔案,采用注解配置

3.監控

  • 提供了程式的健康檢查等功能

3.四大核心

  1. 自動配置------簡化xml配置
  2. 起步依賴------簡化maven配置
  3. Actuator-------深入了解spring boot程式内部資訊
  4. 指令行界面—這是Spring Boot的可選特性,主要針對 Groovy 語言使用

4.開發環境

  • 如果是使用 eclipse,推薦安裝 Spring Tool Suite (STS) 插件
  • 如果使用 IDEA 旗艦版,自帶了Springboot插件

5.第一個Spring Boot項目

1.項目建立

在這裡,筆者采用的是idea的spring Boot自帶插件建立項目

spring-Boot學習筆記(一)
spring-Boot學習筆記(一)

根據項目需要修改

spring-Boot學習筆記(一)

項目建立成功,相關的依賴正在下載下傳

spring-Boot學習筆記(一)

.mvn下是他插件自己建立的,裡邊是maven的jar包和他的配置檔案,如果本地沒有maven可以使用idea自帶的maven插件編譯和打包我們的SNAPSHOT,這個檔案夾也可以直接删除

main下的Application是程式的入口main方法

resource下static存放靜态資源,template是模闆頁面,application.properties是配置檔案,以後會用到,現在是空的。

spring-Boot學習筆記(一)

這個是pom.xml,spring boot自動幫我們配置,我們可以直接添加相關依賴

<?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>
    
        <!--繼承spring Boot的父級項目的依賴-->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.7.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.springBoot.demo</groupId>
        <artifactId>01-springboot-web</artifactId>
        <version>1.0.0</version>
        <name>01-springboot-web</name>
        <description>Demo project for Spring Boot</description>
    
        <!--屬性配置-->
        <properties>
            <project.build.sourceEncording>UTF-8</project.build.sourceEncording>
            <project.reporting.outputEncording>UTF-8</project.reporting.outputEncording>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
    
            <!--spring Boot 開發web項目的起步依賴-->
            <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>
    
                <!--spring boot提供的項目編譯打包插件-->
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>      

這是spring boot入口main方法

package com.springboot.demo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    //spring Boot的入口main方法
    @SpringBootApplication
    public class Application {
    
        public static void main(String[] args) {
    
            //啟動了spring Boot程式,啟動spring容器,内嵌的tomcat
            SpringApplication.run(Application.class, args);
        }
    
    }      

現在我們來寫一個controller

package com.springboot.demo.controller;
        import org.springframework.stereotype.Controller;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.ResponseBody;
        
        @Controller
        public class hellocontroller {
        
            @RequestMapping("/boot/hello")
            public @ResponseBody String hello(){
                return "hello spring boot";
            }
     }      

在main方法那裡右鍵運作一下

這是spring boot的标志,括号裡邊是版本号

spring-Boot學習筆記(一)

啟動内嵌的Tomcat

spring-Boot學習筆記(一)