60、springboot

spring的優勢:java

spring的JavaEE的輕量級代替品。無需開發重量級的EJB,spring爲企業級java開發提供了一種相對簡單的方法。經過依賴注入和麪向切面編程,用簡單的Java對象實現EJB的功能。mysql

spring的缺點:web

一、spring的組件代碼是輕量級的,可是它的配置倒是重量級的。spring

二、在思考spring特性配置和解決業務問題之間須要進行思惟切換。sql

三、項目的依賴管理也是一件耗費時間和精力的事情。編程

 

SpringBootapi

springBoot對上述spring的缺點進行的改善和優化,基於約定優於配置的思想,可讓開發人員沒必要在配置和邏輯業務之間進行思惟的切換,全身心的投入到邏輯業務的代碼編寫中,從而大大提升了開發效率,必定程度上縮短了項目週期。安全

特色:springboot

一、爲基於sprig的開發提供了更快的入門體驗服務器

二、開箱即用,沒有代碼生成,也無需xml配置,同時能夠修改默認值來知足特定的需求

三、提供了一些大型項目中常見的非功能性特性:例如嵌入式服務器,安全,指標,健康檢測,外部配置等

四、springboot不是對spring功能上的加強,而是提供了一種快速使用spring的方式

核心功能:

一、起步依賴:將具有某種功能的座標打包到一塊兒,並提供一些默認的功能

二、自動配置:運行的過程當中,考慮了衆多因素,才決定spring配置應該用哪一個,不應用哪一個,該過程上spring自動完成的。

 

入門案例:

一、導入MAVEN座標

<!-- 全部的springboot工程都必須繼承-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </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>
        <!--web功能起步依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.1.6.RELEASE</version>
        </dependency>

        <!--熱部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

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

<!--    jpa    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

二、建立啓動類

@SpringBootApplication//聲明該類是一個springboot引導類
public class MySpringBootApplication {
    //main是java程序都入口
    public static void main(String[] args) {
        //run方法表示要springboot的引導類,參數就是springboot引導類的字節碼
        SpringApplication.run(MySpringBootApplication.class);
    }
}

配置文件:

springboot是基於約定的,因此不少配置都有默認值,但若是想使用本身的配置替換默認配置的話,就可使用application.properties或者application.yml(application.yaml)進行配置

yml配置文件:

YML文件格式是YAML編寫的文件格式,YAML是一種直觀的可以被電腦識別的數據序列化格式,而且容易被人類閱讀,容易和腳本語言交互,能夠被支持YAML庫的不一樣的編程語言程序導入。YML文件以數據爲核心,比傳統的xml方式更加簡潔。

#普通數據配置
name: zhangsan
#對象數據配置
person:
  name: zhangsan
  age: 18
  addr: beijing


server:
  port: 8082

#行內對象配置
student: {name: zhangsan,age: 18,addr: beijing}

#配置數據、集合
city:
  - beijing
  - tianjin
  - chongqing
  - shanghai
citys: [beijing,tianjin,chongqing,shanghai]

students:
  - name: tom
    age: 18
    addr: beijing
  - name: lucy
    age: 17
    addr: tianjing
studentss: [{name: tom,age: 18,addr: beijing},{name: lucy,age: 17,addr: tianjing}]
map:
  key1: aaa
  key2: bbb
相關文章
相關標籤/搜索