SpringBoot基本配置

入口类和@SpringBootApplication

  @SpringBootApplication是Spring Boot的核心注解,是一个组合注解,部分源码如下:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication
  • 它的核心功能由@EnableAutoConfiguration注解提供,@EnableAutoConfiguration让Spring Boot根据类中的jar包依赖为当前项目进行自动配置
  • Spring Boot会自动扫描@SpringBootApplication注解所在类的同级包以及下级包中的Bean

关闭特定的自动配置

通过@SpringBootApplication注解下的exclude参数如:

@SpringBootApplication(exclude={DataSourceAutoConfigration.class})

定制Banner

Spring Boot启动会有一个默认图案,这个图案 可以自定义, 自定义方式如下

在src/main/resource下新建一个banner.txt文件

通过http://patorjk.com/software/taag/这个网站生成字符

将生成的字符粘贴到banner.txt文件中即可

关闭banner可以修改入口类

SpringApplication app = new SpringApplication(DemoApplication.class);

    app.setBannerMode(Banner.Mode.OFF);

    app.run(args);

starter pom

  Spring Boot提供了很多starter pom方便进行maven配置,下面是一些常见的starter:

  


名称


描述


spring-boot-starter


核心Spring Boot starter,包括自动配置支持,日志和YAML


spring-boot-starter-actuator


生产准备的特性,用于帮我们监控和管理应用


spring-boot-starter-amqp


对”高级消息队列协议”的支持,通过spring-rabbit实现


spring-boot-starter-aop


对面向切面编程的支持,包括spring-aop和AspectJ


spring-boot-starter-batch


对Spring Batch的支持,包括HSQLDB数据库


spring-boot-starter-cloud-connectors


对Spring Cloud Connectors的支持,简化在云平台下(例如,Cloud Foundry 和Heroku)服务的连接


spring-boot-starter-data-elasticsearch


对Elasticsearch搜索和分析引擎的支持,包括spring-data-elasticsearch


spring-boot-starter-data-gemfire


对GemFire分布式数据存储的支持,包括spring-data-gemfire


spring-boot-starter-data-jpa


对”Java持久化API”的支持,包括spring-data-jpa,spring-orm和Hibernate


spring-boot-starter-data-mongodb


对MongoDB NOSQL数据库的支持,包括spring-data-mongodb


spring-boot-starter-data-rest


对通过REST暴露Spring Data仓库的支持,通过spring-data-rest-webmvc实现


spring-boot-starter-data-solr


对Apache Solr搜索平台的支持,包括spring-data-solr


spring-boot-starter-freemarker


对FreeMarker模板引擎的支持


spring-boot-starter-groovy-templates


对Groovy模板引擎的支持


spring-boot-starter-hateoas


对基于HATEOAS的RESTful服务的支持,通过spring-hateoas实现


spring-boot-starter-hornetq


对”Java消息服务API”的支持,通过HornetQ实现


spring-boot-starter-integration


对普通spring-integration模块的支持


spring-boot-starter-jdbc


对JDBC数据库的支持


spring-boot-starter-jersey


对Jersey RESTful Web服务框架的支持


spring-boot-starter-jta-atomikos


对JTA分布式事务的支持,通过Atomikos实现


spring-boot-starter-jta-bitronix


对JTA分布式事务的支持,通过Bitronix实现


spring-boot-starter-mail


对javax.mail的支持


spring-boot-starter-mobile


对spring-mobile的支持


spring-boot-starter-mustache


对Mustache模板引擎的支持


spring-boot-starter-redis


对REDIS键值数据存储的支持,包括spring-redis


spring-boot-starter-security


对spring-security的支持


spring-boot-starter-social-facebook


对spring-social-facebook的支持


spring-boot-starter-social-linkedin


对spring-social-linkedin的支持


spring-boot-starter-social-twitter


对spring-social-twitter的支持


spring-boot-starter-test


对常用测试依赖的支持,包括JUnit, Hamcrest和Mockito,还有spring-test模块


spring-boot-starter-thymeleaf


对Thymeleaf模板引擎的支持,包括和Spring的集成


spring-boot-starter-velocity


对Velocity模板引擎的支持


spring-boot-starter-web


对全栈web开发的支持, 包括Tomcat和spring-webmvc


spring-boot-starter-websocket


对WebSocket开发的支持


spring-boot-starter-ws


对Spring Web服务的支持

注:本文是个人学习笔记,以上内容均来自《JavaEE开发的颠覆者 Spring Boot实战》一书

时间: 2024-10-19 03:00:13

SpringBoot基本配置的相关文章

SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页

SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了.全部自动实现. 话不多说,直接上代码: 第一步pom文件配置添加jar: <!-- mybatis的分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>

补习系列(10)-springboot 之配置读取

目录 简介 一.配置样例 二.如何注入配置 1. 缺省配置文件 2. 使用注解 3. 启动参数 还有.. 三.如何读取配置 @Value 注解 Environment 接口 @ConfigurationProperties 注解 四.不同环境中的配置 1. 区别开发.测试.发布环境 2. 声明多配置文件 参考文档 简介 在早前的博客中曾经写过 Spring 程序通过 Bean 映射实现配置信息的读取. 在SpringBoot 框架中读取配置的方式变得非常多样,这导致读者在搜寻资料时反而容易迷糊.

SpringBoot自动配置原理

SpringBoot自动配置主要通过@EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties或者@ConfigurationProperties 等几个注解来进行自动配置完成的. @EnableAutoConfiguration开启自动配置,主要作用就是调用Spring-Core包里的loadFactoryNames(),将autoconfig 包里的已经写好的自动配置加载进来. @Conditional条件注解

springboot自动配置

springboot是在spring基础上的一次跃迁,是约定先于配置的完美实践. 最近在学习springboot相关内容,看到自动配置这个知识点时,着实有些困惑,网上大多博客多介绍何为springboot自动配置及其实现原理,读完依然还有些云遮雾绕. 鉴于现今我浅薄的spring知识,并不深刻知道springboot自动配置相较于spring的原始配置之间究竟有何不同,遂遍历多篇相关博客并请教大佬,才堪堪在逻辑上对二者之区别略有知晓. 我想从spring之XML配置到spring之注解配置后至s

SpringBoot读取配置值的方式

SpringBoot读取配置值的方式 方法一: @Value注解的方式取值 设定appliction.properties的配置信息 xiaoming.sex=boy xiaoming.age=18 xiaoming.score=98 使用@Value取值 @RestController public class PersonController { @Value("${xiaoming.sex}") private String sex; @Value("${xiaomin

springboot默认配置

static:保存所有的静态资源: js css images: templates:保存所有的模板页面:(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面):可以使用模板引擎(freemarker.thymeleaf): SpringBoot使用一个全局的配置文件,配置文件名是固定的: application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认值:SpringBoot在底层都给我们自动配置

springboot相关配置

博客搬家:springboot相关配置 配置mybatis application.properties中配置 mybatis.mapper-location=classpath:com/leida/mapper/*.xml #配置数据库连接信息 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver sp

SpringBoot 动态配置数据源-进阶-可视化动态配置数据源-2

接 SpringBoot 动态配置数据源-进阶-可视化动态配置数据源-1 配置文件修改后,需要使配置生效 采用springcloud 配置 jar :  spring-cloud-starter-config + spring-boot-starter-actuator <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuat

SpringBoot自动配置的原理

Spring Boot的运行是由注解@EnableAutoConfiguration提供的它的关键功能是@Import注解.        EnableAutoConfigurationImportSelector 使用 SpringFactoriesLoader.loadFactoryNames 方法来扫描具有MEAT-INF/spring.factories文件的jar包 在了解原理前我们需要先认识下面几个注解:        @ConditionalOnBean:当容器里有指定的Bean为

助力SpringBoot自动配置的条件注解ConditionalOnXXX分析--SpringBoo

注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 前言 本篇接如何分析SpringBoot源码模块及结构?--SpringBoot源码(二) 上一篇分析了SpringBoot源码结构及各个模块pom之间的关系后,那么此篇开始就开始解开SpringBoot新特性之一--自动配置的神秘面纱了.因为SpringBoot自动配置原理是基于其大量的条件注解ConditionalOnXXX,因此,本节我们先来撸下Spring的条件注解的相关源码. 2 SpringBoot的派生条件