Spring Boot特点

扫码查看

Spring Boot特点:

  • 依赖管理
  • 基于java代码的配置
  • 自动配置
  • Bean管理
  • 嵌入式HTTP服务器,单一可执行jar包

依赖管理

Spring Boot的一大特色就是减少了POM依赖配置,Spring Boot通过提供一系列的Starter来管理依赖,保证依赖的兼容性和一致性。详细可以参考我的另一篇博文Spring Boot Starter https://www.cnblogs.com/stronger-brother/p/12097235.html

基于java代码的配置

传统的Spring应用程序偏好XML配置,但是Spring Boot应用程序偏好基于Java代码的配置,同时Spring Boot也支持XML配置。在Spring Boot中,配置类通过@Configuration注解标注,如果你偏好XML配置,可以在配置类上使用@ImportResource注解导入XML配置资源。配置可以按分类划入到多个配置类中,然后通过@Import注解导入合并,也可以使用@ComponentScan自动合并配置类。

自动配置

在启动了自动配置之后,Spring Boot将会根据您的应用程序依赖的jar包自动配置Spring。例如,如果您的应用程序中包含HSQLDB包,您不需要配置任何数据库连接Bean,Spring Boot会自动配置一个内存数据库。通过在@Configuration配置类上标注@EnableAutoConfiguration来启用自动配置,通过@EnableAutoConfiguration也可以禁用自动配置。例如,如果我们不想在引用了HSQLDB之后自动配置数据源,可以通过@EnableAutoConfiguration注解的exclude属性排除对数据源的自动配置,代码如下:

import org.springframework.boot.autoconfigure.*;
import org.springframework.boot.autoconfigure.jdbc.*;
import org.springframework.context.annotation.*;

@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}

如果路径中不存在要排除的类,可以使用@EnableAutoConfiguration的excludeName属性通过指定类的全限定名称排除。

Bean的管理

Spring Boot对Bean的管理和Spring是一致的,传统的@Service、@Componennt、@Autowried注解依然可以使用,同时Spring Boot提供了@ComponentScan注解来进行组件扫描。

嵌入式HTTP服务器,单一可执行jar包

Spring Boot支持把Tomcat、Jetty等HTTP服务器嵌入到应用程序中,然后和应用代码一起生成一个单一可执行的jar包,方便传输和部署。

@SpringBootApplication

@SpringBootApplication注解是一个集大成者,它集合了下面三个注解的功能的,从而简化了配置。

  • @EnableAutoConfiguration 启用自动配置
  • @ComponentScan 组件扫描
  • @Configuation 配置Bean或导入其他的配置
package com.example.myapplication;

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

@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}
12-18 21:21
查看更多