zoukankan      html  css  js  c++  java
  • SpringBoot学习之基础篇

    在前面的博文中,已经演示过springboot与Mybatis集成的实例,本篇再来探讨一下SpringBoot的基础。

     一。关于SpringBoot

      SpringBoot可以基于Spring轻松创建可以“运行”的、独立的、生产级的应用程序。大多数Spring Boot应用程序需要很少的Spring配置。您可以使用Spring Boot创建可以使用java -jar或传统 war 包部署启动的Java应用程序。

      SpringBoot主要目标是:

    • 为所有的Spring开发者提供一个更快,更广泛接受的入门体验。
    • 开始使用开箱即用的配置(极少配置甚至不用配置),所有配置都有默认值,同时也可以根据自己的需求进行配置。
    • 提供大量项目中常见的一系列非功能特征(例如嵌入式服务器,安全性,指标,运行状况检查,外部化配置)。
    • 绝对没有代码生成,也不需要XML配置。

      总之就一句话,启动更方便,配置量更少

      系统要求:虽然您可以在Java 6或7上使用 Spring Boot,但是建议用Java 8。

    二。添加对spring-boot的支持

    maven:

    <dependencyManagement>
        <dependencies>
            <!-- Override Spring Data release train provided by Spring Boot -->
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-releasetrain</artifactId>
                <version>Fowler-SR2</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>1.5.8.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    View Code

    gradle:

    buildscript {
        ext {
            springBootVersion = '1.5.8.RELEASE'
        }
        repositories {
            maven { url = "http://maven.aliyun.com/nexus/content/groups/public" }
        }
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    }
    
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'org.springframework.boot'
    
    group = 'com.bdqn.lyrk.study'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
    repositories {
        maven { url = "http://maven.aliyun.com/nexus/content/groups/public" }
    }
    
    
    dependencies {
        compile('org.springframework.boot:spring-boot-starter-web')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    }
    View Code

    注意在spring-boot里有一个叫做启动器的概念,命名是以spring-boot-starter-xxx打头 这个命名结构旨在帮助你快速找到一个启动器。上述配置中会有一个嵌入式servlet容器,这样在程序启动时可以自动运行servlet容器

    三。关于属性文件

      SpringBoot一个最大的好处就是对集成的企业级应用工程都提供了默认配置,绝大多数情况下我们用默认的配置就好了,如果我们想改变配置就需要SpringBoot的属性文件了。

    • SpringApplication将从以下位置的application.properties或者application.yml文件中加载属性,并将它们添加到Spring Environment中:

      1. 当前目录的/config子目录
      2. 当前目录
      3. classpath中/config包
      4. classpath root路径

      该列表按优先级从高到低排序。

    四。SpringBoot启动实例

      

    package com.bdqn.lyrk.study.springboot;
    
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    /**
     * @author chen.nie
     */
    @SpringBootApplication
    public class SpringBootRunner {
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SpringBootRunner.class, args);
    
        }
    }
    View Code

    经过对比我们发现,现在启动Spring更加简单了,在这里我们注意@SpringBootApplication注解,它相当于使用@Configuration,@EnableAutoConfiguration和@ComponentScan和他们的默认属性,熟悉Spring框架的朋友对第一个和第三个注解应该不陌生,@EnableAutoConfiguration这个注解通常放置在主类上,它隐式定义了某些项目的基本“搜索包”。

    注意:springboot的启动类必须和其他加spring注解的包在同一个目录下

    五。SpringBoot日志记录 

      

    Spring Boot使用Commons Logging进行所有内部日志记录,但基础日志实现开放。 默认配置提供了Java Util LoggingLog4J2Logback。默认情况下,如果使用’Starters’,将会使用Logback。在配置文件里,是以logging.xxx打头,注意:SpringBoot默认只将日志输出到控制台,我们可以做以下的配置来输出到文件中。

    配置日志级别:

    logging:
      level: debug
      path: ${user.home}/logs/${spring.application.name}
     
    View Code

     当然我么可以以logging.level.<logger-name>=<level>的方式配置对应的日志级别,root的日志级别可以设置为:logging.level.root=值

  • 相关阅读:
    在Eclipse中设置中文JavaDOC
    买车,给点建议和意见
    父亲节
    JSP文件上传

    昨天我生日
    换皮了
    西安夕阳
    WinForms中只能输入数字的文本框
    使用GoogleCode SVN服务
  • 原文地址:https://www.cnblogs.com/niechen/p/7762089.html
Copyright © 2011-2022 走看看