Spring Boot 基础系列 (二)起步依赖&自动配置

2.1、运用Spring Boot

    初始化目录结构

Spring Boot 基础系列 (二)起步依赖&自动配置_第1张图片

上图是一个名为readinglist项目初始化后的目录结构

build.gradle:Gradle构建说明文件,如果是maven的话就没有这个,因为是在书上截的图,所以有这个文件,我比较喜欢使用maven。

ReadingListApplication.java:应用程序的启动引导类也是主要的Spring配置类。

application.properties:用于配置应用Spring Boot 的属性。

ReadingListApplicationTests.java:一个基本的集成测试类。

    2.1.1启动引导类

启动引导类在Spring Boot应用中有两个作用:配置和启动引导。首先这是Spring主要的配置类。虽然Spring Boot自动配置免除了很多Spring配置,但是还需要少量的配置来启动自动配置。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication //开启组件扫描和自动配置
public class Application {

    //负责启动引导应用程序
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@SpringBootApplication开启了Spring的组件扫描和Spring的自动配置功能,实际上是将三个注解组合到了一起。

  • Spring的@Configuration:标明该类使用基于java的配置,就是使用java类替代.xml配置
  • Spring的@ComponentScan:启动组件扫描,就是自动扫包扫描那些@Bean @Controller @Service等等注解标注的方法或类到上下文
  • Spring Boot的@EnableAutoConfiguration:书中作者称这个注解为Abraccadabra(咒语的意思),这个注解开启了Spring Boot的自动配置功能,不用再写成篇的配置了。

也就是说  @SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiguration  你说厉害不厉害

@SpringBootApplication只有在Spring Boot 1.2.0版本以及之后的版本才有,如果是之前的版本就只能写三个注解了。

    2.1.2 集成测试类

一个Java程序员必须写测试,虽然我之前很少写!

Spring Boot 在构建项目的时候提供了测试的骨架

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;

@RunWith(SpringRunner.class)// SpringJUnit支持,由此引入Spring-Test框架支持!
@SpringBootTest// 指定我们SpringBoot工程的Application启动类
@WebAppConfiguration // 由于是Web项目,Junit需要模拟ServletContext,因此我们需要给我们的测试类加
public class SpringBootDemo1ApplicationTests {

    @Test
    public void contextLoads() {
    }

}

    2.1.3配置应用程序属性

server.port=8080

以上代码在application.properties文件中配置,设置嵌入的Tomcat舰艇端口为8080,在应用启动之后Spring Boot 会默认加载(不需要哦欸之的)application.properties 并且根据文件中设置的属性设置应用程序。

    2.1.4项目构建

目前比较常用的构建工具有Gradle和Maven,Gradle一直都没用过,我觉得Maven在依赖管理上来说更直观简单一些。



    4.0.0

    com.glp
    spring-boot-demo
    0.0.1-SNAPSHOT
    jar

    spring-boot-demo
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.4.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
    

    
        
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



2.2、起步依赖

2.3、自动配置

转载于:https://my.oschina.net/u/3916545/blog/1920247

你可能感兴趣的:(Spring Boot 基础系列 (二)起步依赖&自动配置)