- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
让我看看怎么个事儿之SpringBoot自动配置
学习SpringBoot自动配置之前我们需要一些前置知识点:
学会@ConfigurationProperties月薪过三千
不是银趴~是@Import!
@Conditional+@Configuration有没有搞头?
首先我们提出2个问题:
SpringBoot是干什么的?
是用来简化Spring原生的复杂的xml配置的进阶框架。
自动配置是什么?
我们用另外一个问题回答这个问题。
我们在SpringBoot开发中,就写了几个配置,怎么连接上的数据库?
spring:
datasource:
driverClassName:com.MySQL.cj.jdbc.Driver
url:jdbc:mysql://192.0.0.1:3306/testuseUnicode=trueuseSSL=falseserverTimezone=Asia/ShanghAI
username:root
password:root
在新手村时期,我们照着教程生搬硬抄的时候可能也想过这个问题,今天就来简单探究一下。
再次强调:
看明白本篇内容需要前置知识点,尤其是@Import注解。
这一切都要从@SpringBootApplication注解讲起。
@SpringBootApplication
@SpringBootApplication注解是一个复合注解,它由如下三个注解组成。
@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@interfaceSpringBootApplication{
@SpringBootApplication
├──@ComponentScan
├──@SpringBootConfiguration
│└──@Configuration
└──@EnableAutoConfiguration
├──@Import(AutoConfigurationImportSelector.class)
└──@AutoConfigurationPackage
└──@Import(AutoConfigurationPackages.Registrar.class)
@SpringBootConfiguration
@ComponentScan
@EnableAutoConfiguration
从注解的中文意思中也可以看出来,第三个@EnableAutoConfiguration是与我们自动配置紧密相关的。
我们先快速搞定前2个。
@SpringBootConfiguration
这个最简单,把头套摘下来,他就是一个普普通通的@Configuration注解包装而成而已,表示当前类是一个配置类。
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration//本体在这
public@interfaceSpringBootConfiguration{
@ComponentScan
可以指定basePackageClasses或basePackages(或其别名value)来定义要扫描的特定包。如果没有定义特定包,扫描将从声明此注解的类的包开始。
顾名思义就是扫描Component。
扫描哪里?
可以通过该注解的属性指定Spring应该扫描的包。如果没有指定包,则默认扫描声明@ComponentScan的类所在的包及其子包。
哪些Component?
使用@Component,@Service,@Repository,@Controller等注解的类。
扫描了做什么用?
将扫描
您可能关注的文档
最近下载
- 临床学术推广方案.ppt VIP
- 江西传媒职业学院继续教育学院2019级《电子商务基础》补考试卷B.docx VIP
- 老年肺炎临床诊断与治疗专家共识2025解读.pptx
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战.docx VIP
- 外研版高中英语选择性必修第一册Unit1 Part1 Starting out & Understanding ideas练习含答案.docx VIP
- 二手车买卖买卖合同范本6篇.docx VIP
- 水泥基植物纤维防火保温预制装配式叠合板.pdf VIP
- 2023年高考生物试题解析全国乙卷.docx
- 毛衫专业英语中英对照.docx VIP
- 三字经英文版赵彦春.doc VIP
文档评论(0)