Activiti6.0集成Spring Boot2.0

791 阅读1分钟

概述

SpringBoot是啥?

  • 原来是一个轻量级的IOC容器后来扩展到安全数据集成等技术体系

SpringBoot核心功能

  • SpringBoot是以Jar包形式启动,之所以是可以以Jar包独立运行,是因为把Servlet容器内嵌到Jar包中,

    SpringBoot可以内嵌Tomcat和Jet。Jar包启动只需要依赖JDK的依赖。提供了Starter简化了配置,Starter

    是一个启动器,Starter是一个maven的配置。

SpringBoot优点

  • 快速构建项目,对主流框架可以无配置快速集成
  • 项目还可以独立运行无序外部依赖Servlet容器Tomcat
  • 与云计算天然的集成SpringBoot可以独立的以Jar包运行,提供了一个微服务执行标准

image-20210219153650342.png

与SpringMVC开发区别

image-20210219153759447.png

配置POM

image-20210219154446854.png

SpringBoot程序入口

image-20210219154712129.png

SpringBoot提供maven插件

image-20210219154820363.png

添加运维监控Actuator

image-20210219155214000.png

image-20210219155300598.png

运维监控信息

image-20210219155654195.png

image-20210219155924859.png

image-20210219160202977.png

Spring Boot2.0启动依赖和自动装配

SpringBoot启动依赖

image-20210219174446261.png

SpringBoot 核心API

  • SpringBootConfiguration支持Java配置类
  • EnableAutoConfiguration 开启自动装配功能
  • ComponentScan扫描Bean组件
自动装配 AutoConfigurationImportSelector

返回的String[] 数组的名字作为Bean去加载

@Override
	public String[] selectImports(AnnotationMetadata annotationMetadata) {
		if (!isEnabled(annotationMetadata)) {
			return NO_IMPORTS;
		}
		AutoConfigurationMetadata autoConfigurationMetadata = AutoConfigurationMetadataLoader
				.loadMetadata(this.beanClassLoader);
		AnnotationAttributes attributes = getAttributes(annotationMetadata);
		List<String> configurations = getCandidateConfigurations(annotationMetadata,
				attributes);
		configurations = removeDuplicates(configurations);
		Set<String> exclusions = getExclusions(annotationMetadata, attributes);
		checkExcludedClasses(configurations, exclusions);
		configurations.removeAll(exclusions);
		configurations = filter(configurations, autoConfigurationMetadata);
		fireAutoConfigurationImportEvents(configurations, exclusions);
		return StringUtils.toStringArray(configurations);
	}
	protected List<String> getCandidateConfigurations(AnnotationMetadata metadata,
			AnnotationAttributes attributes) {
		List<String> configurations = SpringFactoriesLoader.loadFactoryNames(
				getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader());
		Assert.notEmpty(configurations,
				"No auto configuration classes found in META-INF/spring.factories. If you "
						+ "are using a custom packaging, make sure that file is correct.");
		return configurations;
	}
  • 加载spring.factories里面配置文件

    具体Bean

image-20210219182320229.png

常用的AutoConfiguration

image-20210219182533506.png

常用的条件注解ConditionalXXX

image-20210219203819648.png

Activiti6.0与Spring Boot2.0集成

image-20210219214121449.png

升级Activiti6.0 依赖SpringBoot版本为2.0

image-20210219214502092.png