springboot-起步依赖
参考:spring boot启动机制核心原理详解
1.spring-boot-starter-web web启动器
web启动器?动帮我们引?了web模块开发需要的相关jar包。
spring-boot-starter-web 默认替我们引入了核心启动器 spring-boot-starter
2.spring-boot-starter-xxx是官?提供的starter。
org.springframework.boot
spring-boot-starter-amqp
3.xxx-spring-boot-starter是第三?提供的starter。
com.alibaba druid-spring-boot-starter 1.1.2
4.maven的spring-boot-starter-parent的作用
spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖可以省去version标签。
5.stater机制帮我们完成了项?起步所需要的的相关jar包。那问题?来了,传统的spring应?中不是要在application.xml中配置很多bean的吗,?如dataSource的配置,transactionManager的配置 springboot是如何帮我们完成这些bean的配置的、
5.1 自动配置
5.1.1 mybatis 自动配置类 MybatisAutoConfiguration
@Configuration注解的配置类可以看作是能?产让Spring IoC容器管理的Bean实例的??。@Bean注解告诉Spring,?个带有@Bean的注解?法将返回?个对象,该对象应该被注册到spring容器中(生成bean对象并纳入到spring容器中)。
所以上?的MybatisAutoConfiguration这个类,?动帮我们?成了SqlSessionFactory这些Mybatis的重要实例并交给spring容器管理,从?完成bean的?动注册。
5.2 @PostConstruct 注解的作用
影响servlet声明周期。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。
5.2.1
servlet是一个Java编写的程序,此程序是基于http协议的,在服务器端(如Tomcat)运行的,是按照servlet规范编写的一个Java类。
客户端发送请求至服务器端,服务器端将请求发送至servlet,servlet生成响应内容并将其传给服务器
Java深入 - servlet和Spring的DispatcherServlet详解
Tomcat是如何加载Spring和SpringMVC及Servlet相关知识
6. 到此我们已经知道了bean的配置过程,但是还没有看到springboot是如何读取yml或者properites配置?件的的属性来创建数据源的?
6.1 MybatisAutoConfiguration 类中
在DataSourceAutoConfiguration类??,我们注意到使?了EnableConfigurationProperties这个注解。
DataSourceProperties中封装了数据源的各个属性,且使?了注解ConfigurationProperties指定了配置?件的前缀
@ConfigurationProperties注解的作?是把yml或者properties配置?件转化为bean。
@EnableConfigurationProperties注解的作?是使@ConfigurationProperties注解?效。
如果只配置@ConfigurationProperties注解,在spring容器中是获取不到yml或者properties配置?件转化的bean的。
6.2 ConfigurationProperties的作?
可以读取配置?件中的信息,并?动封装成实体类,该实体类的名称,默认是类名的?字母?写
6.2.1 使用@ConfigurationProperties 可以替换@Value注解的使用
TRANSLATE with| Arabic | Hebrew | Polish |
| Bulgarian | Hindi | Portuguese |
| Catalan | Hmong Daw | Romanian |
| Chinese Simplified | Hungarian | Russian |
| Chinese Traditional | Indonesian | Slovak |
| Czech | Italian | Slovenian |
| Danish | Japanese | Spanish |
| Dutch | Klingon | Swedish |
| English | Korean | Thai |
| Estonian | Latvian | Turkish |
| Finnish | Lithuanian | Ukrainian |
| French | Malay | Urdu |
| German | Maltese | Vietnamese |
| Greek | Norwegian | Welsh |
| Haitian Creole | Persian |
- 中文(简体)
- 中文(繁体)
- 丹麦语
- 乌克兰语
- 乌尔都语
- 亚美尼亚语
- 俄语
- 保加利亚语
- 克罗地亚语
- 冰岛语
- 加泰罗尼亚语
- 匈牙利语
- 卡纳达语
- 印地语
- 印尼语
- 古吉拉特语
- 哈萨克语
- 土耳其语
- 威尔士语
- 孟加拉语
- 尼泊尔语
- 布尔语(南非荷兰语)
- 希伯来语
- 希腊语
- 库尔德语
- 德语
- 意大利语
- 拉脱维亚语
- 挪威语
- 捷克语
- 斯洛伐克语
- 斯洛文尼亚语
- 旁遮普语
- 日语
- 普什图语
- 毛利语
- 法语
- 波兰语
- 波斯语
- 泰卢固语
- 泰米尔语
- 泰语
- 海地克里奥尔语
- 爱沙尼亚语
- 瑞典语
- 立陶宛语
- 缅甸语
- 罗马尼亚语
- 老挝语
- 芬兰语
- 英语
- 荷兰语
- 萨摩亚语
- 葡萄牙语
- 西班牙语
- 越南语
- 阿塞拜疆语
- 阿姆哈拉语
- 阿尔巴尼亚语
- 阿拉伯语
- 韩语
- 马尔加什语
- 马拉地语
- 马拉雅拉姆语
- 马来语
- 马耳他语
- 高棉语