《Spring Boot官方文档》16. 自动配置
Spring Boot的自动配置会尝试根据你添加进来的jar依赖来自动配置你的Spring应用。例如,如果HSQLDB在你的classpath路径上,你没有手动配置任何数据库连接实体类,我们还会自动配置内存数据库。
你可以有选择的实现自动配置,可以向 @Configuration上添加@EnableAutoConfiguration或者@SpringBootApplication注解来实现。
你应该只添加一个@EnableAutoConfiguration注解。我们通常建议你把它添加到你的主要 @Configuration类上。
自动配置是非入侵式的,任何时候你都可以使用你自定义的配置来覆盖自动配置的特定部分。例如,如果你要添加自己的DataSource bean,默认的内嵌数据库会无效。
如果你需要查找当前应用的自动配置,你可以启动应用时加上–debug开关。它会为核心日志记录器开启debug日志记录,并且会打印自动配置日志信息到控制台。
如果你发现正在应用的特定自动配置不是你想要的,你可以使用@EnableAutoConfiguration的排除属性来禁用它们。
import org.springframework.boot.autoconfigure.*;
import org.springframework.boot.autoconfigure.jdbc.*;
import org.springframework.context.annotation.*;
@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class MyConfiguration {
}
如果这个类不在classpath路径下,你可以使用该注解的excludeName属性以及指定全限定名 来替代。最终,你也可以控制自动配置类的列表来额除spring.autoconfigure.exclude属性。
你可以通过注解级别以及使用属性来定义排除项。
你可以自由使用任何标准Spring框架技术来定义你的beas以及它们的依赖。简单来说,我们通常使用@ComponentScan 来发现你的beans,并且配合@Autowired构造器来更好的注入。
如果你在构造代码时使用上面建议的方式(在根包下定位你的应用类),你可以用@ComponentScan注解,无需任何参数。你所有的应用组件(@Component, @Service, @Repository, @Controller 等等)都会作为Spring Beans来注册。
下面的例子是使用@Service Bean构造器注入用于获取必要的RiskAssessor Bean。
package com.example.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service public class DatabaseAccountService implements AccountService {
private final RiskAssessor riskAssessor;
@Autowired public DatabaseAccountService(RiskAssessor riskAssessor) {
this.riskAssessor = riskAssessor;
}
// …
}
请注意使用构造器注入允许使用final标记riskAssessor 对象,表明以后该对象不能被改变。
转载自 并发编程网 - ifeve.com
《Spring Boot官方文档》16. 自动配置相关推荐
- 【Spring Boot官方文档原文理解翻译-持续更新中】
[Spring Boot官方文档原文理解翻译-持续更新中] 文章目录 [Spring Boot官方文档原文理解翻译-持续更新中] Chapter 4. Getting Started 4.1. Int ...
- Spring Boot 官方文档学习(一)入门及使用
Spring Boot 官方文档学习(一)入门及使用 个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问 ...
- Spring Boot 官方文档摘要
Spring Boot 官方文档摘要 一.Develop Your First Spring Boot Application Spring Boot 依赖于 groupId 为 org.spring ...
- Spring Boot 官方文档中文版
目前为最新版 2.5.5. 其他spring文档不断更新中 目前为最新版 2.5.5. 其他spring文档不断更新中 总目录 Spring Boot Reference Documentation ...
- Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(二)
接前一篇 Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 本篇主要内容:Spring Type Conver ...
- Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion
本篇太乱,请移步: Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 写了删删了写,反复几次,对自己的描述很不 ...
- 如何找到spring的官方文档位置
最近因为项目中遇到了一些问题, 百度不到比较好的方案, 就准备去看下spring的官方文档, 在此记录下: 1. 进入spring framework的官网项目页面: https://spring. ...
- 如何找到spring的官方文档
最近因为项目中遇到了一些问题, 百度不到比较好的方案, 就准备去看下spring的官方文档, 在此记录下: 1. 进入spring framework的官网项目页面: https://spring. ...
- Spring指南之使用Spring缓存数据(Spring Framework官方文档之缓存抽象详解)
1.请参见官方文档Spring指南之使用 Spring 缓存数据 2.请参见Spring官方文档之缓存抽象 3.参见github代码 文章目录 一.简介 二.你将创造什么(What You Will ...
最新文章
- “theform._eventtarget 为空或者不是对象”,解决办法
- linux下的cat命令
- 开发工程中遇到的BUG
- 重读模式与架构(2)——层次划分的依据和角色职责
- 用NAnt 将StarTeam中的文件CheckOut回本地计算机
- 嵌入式系统开发之中断控制的实现
- 计算机常见知识大全,电脑基本知识
- java 按钮添加音乐_如何使得java swing里加入的背景音乐 可用按钮控制播放与停止...
- 移植MyEclipsenbsp;Web项目到Ecli…
- eos区块链 java客户端_在EOS区块链上使用EOSJS和scatter开发dApp
- 精确休息法——《万维钢.精英日课3》笔记
- xshell和xftp免费使用方法
- chrome中了flash过期的解决方法
- 《Linux C编程从入门到精通》——1.4 Linux的常用命令
- 细细品味Flex——BlazeDS开发指南
- Unity解析gif动态图
- jadx重新打包_[原创]360加固之onCreate函数还原并重打包
- css 圆形背景icon_纯CSS3制作精美的圆形扁平风格图标
- ctf-WEB-noteasytrick
- 网众无盘0基础入门学习图文版已完结