码迷,mamicode.com
首页 > 其他好文 > 详细

吃透SprinngBoot

时间:2021-01-07 11:44:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:static   团队   需要   项目   ssi   定义   mes   nal   发展   

Springboot

1、概述

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

2、构建SpringBoot项目

技术图片
技术图片
技术图片
技术图片

3、SpringBoot自动装配分析

3.1、启动类

//@SpringBootApplication:表示这个类是SpringBoot的类
@SpringBootApplication
public class SpringbootDemo01Application {
    //将SpringBoot应用启动
    public static void main(String[] args) {
        SpringApplication.run(SpringbootDemo01Application.class, args);
    }

}

3.2、分析

Ctrl+鼠标点击@SpringBootApplication进入
技术图片
这个注解也是个派生注解,点击进入下一层
技术图片
?这个注解也是?个派?注解,其中的关键功能由@Import提供,其导?的AutoConfigurationImportSelector的selectImports()?法通过
SpringFactoriesLoader.loadFactoryNames()扫描所有具有META-INF/spring.factories的jar包。spring-boot-autoconfigure-x.x.x.x.jar?就有?个这样
spring.factories?件。这个spring.factories?件也是?组?组的key=value的形式,其中?个key是EnableAutoConfiguration类的全类名,?它的value是?个xxxxAutoConfigur
的列表,这些类名以逗号分隔,如下图所示:
技术图片
这个@EnableAutoConfiguration注解通过@SpringBootApplication被间接的标记在了Spring Boot的启动类上。在SpringApplication.run(...)的内部就会执
selectImports()?法,找到所有JavaConfig?动配置类的全限定名对应的class,然后将所有?动配置类加载到Spring容器中。
每?个XxxxAutoConfiguration?动配置类都是在某些条件之下才会?效的,这些条件的限制在Spring Boot中以注解的形式体现,例如:

@ConditionalOnBean:当容器?有指定的bean的条件下。
@ConditionalOnMissingBean:当容器?不存在指定bean的条件下。
@ConditionalOnClass:当类路径下有指定类的条件下。
@ConditionalOnMissingClass:当类路径下不存在指定类的条件下。
@ConditionalOnProperty:指定的属性是否有指定的值,?如@ConditionalOnProperties(prefix=”xxx.xxx”, value=”enable”, matchIfMissing=true),代
xxx.xxx为enable时条件的布尔值为true,如果没有设置的情况下也为true。

技术图片

吃透SprinngBoot

标签:static   团队   需要   项目   ssi   定义   mes   nal   发展   

原文地址:https://www.cnblogs.com/HezhenbinGoGo/p/14229341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!