Spring Boot 方式的项目开发已经逐步成为 Java 应用开发领域的主流框架, 它不仅可以方便地创建生产级的 Spring 应用程序, 还能轻松地通过一些注解配置与目前比较流行的微服务框架 SpringCloud 快速地集成.
在我们实际使用 Spring Boot 进行项目开发的过程中, 往往只需要几个很简单的注解配置就能够将应用启动运行了, 相比于传统的 Spring 项目而已, 这种提升大大地提高了我们的研发效率. 然而, 这种便捷性则是通过高度地上层封装来实现的, 如: 大量的注解封装, 约定大于配置的原则等手段. 所以, 也许你已经使用 Spring Boot 开发很多个项目了, 但对 Spring Boot 的运行原理真的搞清楚了吗? 如果, 面试中有人问你 Spring Boot 的实现原理是什么? 你能正确地回答出来吗?
与大部分其他框架及技术的使用场景一样, 我们往往过多地专注于使用层面, 以便快速地完成业务开发, 却往往忽略了对框架底层运行原理的关注, 所以面试中被怼也就不足为奇了. 不过没关系, 在今天的文章中, 小码哥将为大家全方位地梳理下 Spring Boot 的底层运行原理, 并通过图文结合的方式给大家进行展示, 希望对您的工作或者面试能够有所帮助!
- @Configuration
- @ConditionalOnClass(DSLContext.class)
- @ConditionalOnBean(DataSource.class)
- @AutoConfigureAfter({
- DataSourceAutoConfiguration.class,
- TransactionAutoConfiguration.class
- })
- public class JooqAutoConfiguration {
- @Bean
- @ConditionalOnMissingBean
- public DataSourceConnectionProvider dataSourceConnectionProvider(
- DataSource dataSource) {
- return new DataSourceConnectionProvider(
- new TransactionAwareDataSourceProxy(dataSource));
- }
- @Bean
- @ConditionalOnBean(PlatformTransactionManager.class)
- public SpringTransactionProvider transactionProvider(
- PlatformTransactionManager txManager) {
- return new SpringTransactionProvider(txManager);
- }
- ....
- }
来源: http://www.bubuko.com/infodetail-3213834.html