自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

we.think

优秀的代码是它自己最好的文档。当你考虑要添加一个注释时,问问自己,“如何能改进这段代码,以让它不需要注释?”

  • 博客(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开发手册泰山版

《Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册,当前的版本是泰山版。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码易被黑客攻击等等。所以本手册以Java开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度,再根据内容特征,细分成若干二级子目录。另外,依据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。在延伸信息中,“说明”对规约做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例。

2020-06-13

Git版本控制工具入门到精通

Git版本控制工具从小白到大神,结合实践和原理的讲述,过渡到Github的使用,以及Eclipse的插件使用。

2020-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除