7、springboot的引导类启动分析

目录

一、启动

1、有服务,没有默认主页

2、没有服务

二、源码分析

1、@SpringBootApplication 注解源码

 2、源码1:command + @SpringBootApplication 可查看

3、源码2:command + @SpringBootConfiguration可查看

三、其他

1、关于包的扫描

2、springboot的强大之处

四、总结思考


一、启动

1、有服务,没有默认主页

表示服务已经启动,只是没有显示欢迎页面或Rrror错误页面

2、没有服务

二、源码分析

1、@SpringBootApplication 注解源码

如下可见:spring图标,内置tomact服务

 2、源码1:command + @SpringBootApplication 可查看

@Target({ElementType.TYPE})//能出现的位置
@Retention(RetentionPolicy.RUNTIME)//改变注解的生命周期
@Documented//被注解类,生成doc的时候,继承文档
@Inherited//被注解类,继承父类的注解。以上四个是jdk提供的原注解
@SpringBootConfiguration//声明为配置类
@EnableAutoConfiguration//启用自动配置,写了就启用,不写就不启用
@ComponentScan(//自动扫描包
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
}

3、源码2:command + @SpringBootConfiguration可查看

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration//基于注解ioc配置,表明当前类为配置类
public @interface SpringBootConfiguration {
    @AliasFor(
        annotation = Configuration.class
    )
    boolean proxyBeanMethods() default true;
}

三、其他

1、关于包的扫描

通过以上源码分析,我们知道:
DemoApplication就相当于springboot的一个配置类, 并且提供自动扫描包的功能。
它能扫描哪些包?
当前包以及子包。
如:我们当前包为  package com.yyh.demo;
com.yyh.demo 【能扫描】
com.yyh.demo.a 【能扫描】
com.yyh.demo.a.b 【能扫描】
com.yyh 【不能扫描】

2、springboot的强大之处

它并不是简化了我们原来之前的配置,
而是springboot把我们之前的配置给封装了起来
用一个注解,解决了我们几个注解,甚至加上配置文件,才能解决的问题。
这个就是springboot的强大之处, 它使我们的注解配置、xml配置,进行进一步的简化
不仅让我们的编码更轻量级,也使我们的配置更轻量级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被开发耽误的大厨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值