- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 Maven专题(六) - 插件maven-shade-plugin
目录一、filters和artifactSet二、资源转换2.1 ManifestResourceTransformer2.2 AppendingTransformer2.3 ServicesResourceTransformer三、原始构件与shade构件网上有一些maven-shade-plugin替代maven-assembly-plugin的文章,原因是代maven-assembly-plugin打出的jar包中要么是不能设置Main-Class,要么spring的META-INF/spring.
2020-06-20 07:50:41 2126 1
原创 Maven专题(五) - 插件maven-assembly-plugin
Assembly插件主要是聚合项目的输出,比如依赖,模块以及其他文件。通俗的来说,就是将项目内容按照一定规则及指定格式重新组合并输出。它支持的输出格式有多种:jar jar包war war包dir 文件目录zip zip压缩包tar tar压缩包tar.gztar.bz2tar.xz为什么需要Assembly插件呢?因为对于服务类型的后台程序,线上运行时一般通过脚本的方式启动和停止,而项目中的目录结构复杂且不够直观,且项目文件也需要合并和过滤,Assembly插件就可以帮助我们完成。
2020-06-20 07:42:52 1002
原创 Maven专题(四) - 插件maven-resources-plugin
Resources插件负责处理项目资源文件并拷贝到输出目录。Maven将main resources和test resources分开,一般main resources关联main source code,而test resources关联test source code。Resources插件目标有三个:resources:resources:拷贝main resources到main output directory。它绑定了process-resources生命周期阶段,当执行compiler:
2020-06-20 07:24:36 487
原创 Maven专题(三) - 聚合与继承
目录在实际项目的使用中,常常会对项目进行模块划分,以降低耦合。如服务接口模块,各业务模块,web模块等。而模块间共享一些相同的依赖,彼此间也紧密联系。此时我们就可以通过maven的聚合和继承来管理模块。比如现在我们有以下模块:example-apiexample-serviceexample-web模块间的关系是example-web和example-service通过example-api相连接。example-web -> example-api <- example-se
2020-06-20 07:16:49 260
原创 Maven专题(二) - 仓库与私服
目录一、本地仓库和远程仓库二、私服三、镜像四、仓库搜索一、本地仓库和远程仓库maven仓库分为本地仓库和远程仓库,当maven根据坐标寻找构件时,首先会从本地仓库中查找,如果本地仓库中没有,则会去远程仓库中查找,然后下载到本地仓库中再使用。本地仓库的仓库目录默认为用户目录/.m2/repository,可以修改 .m2/setting.xml 文件(默认不存在,需要从maven安装目录下copy一份)的localRepository元素。<settings> <localRe
2020-06-20 00:55:26 357
原创 Maven专题(一) - Maven基础
目录一、坐标定义二、依赖配置一、坐标定义<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion
2020-06-20 00:48:46 305
原创 Spring IOC之后置处理器分析(四)
目录一、BeanPostProcessor二、InstantiationAwareBeanPostProcessor三、BeanFactoryPostProcessor四、BeanDefinitionRegistryPostProcessor一、BeanPostProcessorBean的后置处理器,主要在bean初始化前后工作。public interface BeanPostProcessor { // 在初始化方法(如:afterPropertiesSet 或 init-method)执行前触
2020-06-18 07:33:51 248
原创 Spring注解大纲
目录01、AnnotationConfigApplicationContext02、@Configuration三03、@Bean04、@Primary05、@PostConstruct06、@PreDestroy07、@Scope08、@ComponentScan8.1 注解类8.2 实现09、@Filter10、@Lazy11、@Conditional11.1 注解11.2 实现12、@Import12.1 注解12.2 实现13、@Component14、@Repository15、@Controll
2020-06-13 11:52:46 297
原创 Spring IOC之ApplicationContextAwareProcessor源码分析(三)
目录一、概述二、IOC容器注册ApplicationContextAwareProcessor源码解析2.1 IOC注册ApplicationContextAwareProcessor时序图2.2 刷新IOC容器2.3 注册IOC后置处理器和类加载器三、ApplicationContextAwareProcessor源码解析一、概述ApplicationContextAwareProcessor是一个Spring内部工具,它实现了接口BeanPostProcessor,用于向实现了如下某种Aware接口
2020-06-13 01:25:35 299
原创 Spring IOC之Singleton Bean创建以及BeanPostProcessor调用源码分析(二)
Spring IOC之BeanPostProcessor源码分析(二)一、IOC容器注册BeanPostProcessor1. IOC容器注册BeanPostProcessor的时序图二、IOC容器调用BeanPostProcessor1. IOC容器调用BeanPostProcessor时序图一、IOC容器注册BeanPostProcessor1. IOC容器注册BeanPostProcessor的时序图二、IOC容器调用BeanPostProcessor1. IOC容器调用BeanPost
2020-06-09 01:50:13 402
原创 Spring IOC之ClassPathXmlApplicationContext启动深入源码分析(一)
AnnotationConfigApplicationContext是Spring用来加载注解配置的ApplicationContext,它是如何加载所有的bean,与ClassPathXmlApplicationContext有什么区别,让我们接下来揭开它的神秘面纱。一、类图二、时序图三、源码剖析3.1 初始化IOC容器目标类:ClassPathXmlApplicationContext// new ClassPathXmlApplicationContext("applocationCo
2020-06-06 02:19:32 394
阿里巴巴Java开发手册泰山版
2020-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人