SpringBoot学习之基础篇

  1. 云栖社区>
  2. 博客>
  3. 正文

SpringBoot学习之基础篇

聂晨 2017-10-31 21:21:00 浏览1162
展开阅读全文

在前面的博文中,已经演示过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=值

网友评论

登录后评论
0/500
评论
聂晨
+ 关注