美文网首页从零学Java笔录Spring-Boot我爱编程
spring boot框架学习2-spring boot核心(1

spring boot框架学习2-spring boot核心(1

作者: 凯哥Java | 来源:发表于2017-10-27 09:58 被阅读59次

    本节主要:

    1:解析spring boot入口和@SpringBootApplication源码详解

    SpringBootApplication包含:

    @SpringBootConfiguration

    @ComponentScan

    @EnableAutoConfiguration

    本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中第二篇 spring boot核心(1)

    声明:本文系凯哥Java(www.kaigejava.com)原创,未经允许,禁止转载!

    一:spring boot 入口和注解解析

    回顾上篇中,我们讲到第一个spring boot应用中入口:

    请点击此处输入图片描述

    说明:

    spring boot的项目一般都会有*Application的入口类,入口类中会有main方法。这是一个标准的java应用程序的入口方法。

    @controller:这个注解是spring的。声明是一个controller类。

    @springBootApplication:这个是springboot的注解。

    请看这个类的源码:

    请点击此处输入图片描述

    从源码中,我们可以看到这个注解其实是一组组合注解。

    先来看@springbootConfiguration这个注解。

    请点击此处输入图片描述

    从其源码中,我们可以看到该注解使用了@configuration注解。所以在使用@springbootConfiguration注解的时候,可以不使用@configuration注解。

    其实在springboot项目中给推荐使用springbootConfiguration来替代@configuration注解的。

    回来接着看springbootApplication注解,其包含了@componentScan注解。

    @componentScan源码如下:

    请点击此处输入图片描述

    @conponentScan:这个注解默认扫描@springbootapplication所在类的同级目录以及他的子目录。

    从componentscan源码注释中我们可以看要:

    请点击此处输入图片描述

    @EnableAutoConfiguration注解讲解:

    查看该注解源码及注释:

    请点击此处输入图片描述

    该注解启用自动配置。从源码的注释中我们可以知道,该注释会使spirng boot根据项目中依赖的jar包自动配置项目的配置项。

    例如:我们在pom.xml中配置了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC。spring boot自动配置后如下图:

    请点击此处输入图片描述

    延伸:

    通过上面的了解,我们得知,spring boot会根据项目中jar包依赖,自动做出配置,spring boot支持的自动配置如下(非常多的。下图并非全部):

    请点击此处输入图片描述

    从上图中我们可以看到很多我们熟悉的已经被自动配置了。

    如:

    批处理框架 spring batch。

    cache缓存

    spring cloud

    数据处理的 spring jpa

    mongodb、neo4j、redi、solr等

    如果我们想,不需要spring boot自动配置,想关闭某一项的自动配置,又该如何设置呢?

    欢迎继续学习下一篇。在下一篇中我们将做出解答。

    本系列其他文章:

    spring boot框架学习学前掌握之重要注解(1)-spring的java配置方式

    spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring

    spring boot框架学习学前掌握之重要注解(3)-通过注解方式读取外部资源配置文件

    spring boot框架学习学前掌握之重要注解(4)-通过注解方式读取外部资源配置文件2

    spring boot框架学习1-认识spring boot和快速入门

    spring boot框架学习2-spring boot核心(1)

    欢迎关注凯哥公众号:凯哥Java

    欢迎访问凯哥个人网站:www.kaigejava.com

    本文出处:http://www.kaigejava.com/article/detail/49

    相关文章

      网友评论

        本文标题:spring boot框架学习2-spring boot核心(1

        本文链接:https://www.haomeiwen.com/subject/bghrpxtx.html