文档章节

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

中凯_凯哥java
 中凯_凯哥java
发布于 2017/10/26 13:25
字数 873
阅读 455
收藏 1

3 月,跳不动了?>>>

本节主要:

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

© 著作权归作者所有

中凯_凯哥java

中凯_凯哥java

粉丝 55
博文 140
码字总数 113616
作品 0
昌平
私信 提问
加载中

评论(0)

spring boot框架学习4-spring boot核心(3)

本节主要: 1:spring boot 为我们提供的 starter pom 都有哪些 2:怎么添加xml配置文件 3:日志相关 本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中第四篇 spring boot框架学习...

中凯_凯哥java
2017/10/31
410
0
spring boot框架学习7-spring boot的web开发(3)-自定义消息转换器

http://kaigejava.com/article/list?cateid=3 本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如...

中凯_凯哥java
2017/11/09
112
0
spring boot框架学习12-spring boot整合active mq方法1

本章节主要内容: 主要从以下几个方面讲解: mybatis和spring boot整合、redis(单机版)和spring boot整合、redis(集群)和spring boot整合、httpclient和spring boot整合、rabbitMQ/active M...

中凯_凯哥java
2017/12/10
119
0
spring boot框架学习5-spring boot的web开发(1)

本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定...

中凯_凯哥java
2017/11/01
544
0
spring boot框架学习6-spring boot的web开发(2)

本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定...

中凯_凯哥java
2017/11/06
196
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 和网友的第一次开房经历

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Ljósið》- Ólafur Arnalds 手机党少年们想听歌,请使劲儿戳(这里) @xiaos...

小小编辑
14分钟前
8
0
程序员职业生涯指引

程序员应该尽早规划自己的职业生涯 为什么写 众所周知 IT 这一行到了一定的年龄、大部分人都或多或少有危机感,特别是今年全国乃至全球发生的疫情、导致整体经济受到很大的影响、这次的疫情影...

科比可比克
28分钟前
3
0
JVM调优实战分析

一、查看服务器项目JVM参数以及参数分析 1、jps 命令 : 列出系统中所有的 Java 应用程序以及PID 如下图所示,26647就是我部署在服务器的一个小项目的 PID 2、jmap命令:查看堆的使用情况 如...

IT-Mamba
今天
14
0
IDEA Tomcat 日志乱码解决汇总

IDEA Tomcat 日志乱码解决汇总 第三种没解决,第二种配置后解决了 https://blog.csdn.net/sinat_32404247/article/details/90287700...

三三的宁
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部