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
相关文章
相关标签/搜索