公司项目引用依赖jar,配置包太封闭,无法扩展。一旦业务发生变化,jar就需要升级,不同的项目也会引用这个jar的不同版本。领导问我能不能做到可扩展,研究了一下,实现了可扩展定制。原来的配置是类似这样的:@Configuration(proxyBeanMethods=false)publicclassMyConfiguration{/***bean*/@BeanConfigBeanconfigBean(Configconfig){//todologicreturnnewConfigBean(config)}}如果要根据不同的自定义不同的ConfigBean项目不是那么容易做的。如果能在Config对象传入ConfigBean构造之前打个洞修改Config就好了。这样,ConfigBean的初始化生命周期也变成了发现Config对象->修改Config对象->初始化ConfigBean所以我定义了一个可以修改Config对象的接口:@FunctionalInterfacepublicinterfaceConfigCustomizer{/***Customize.**@paramconfigtheconfig*/voidcustomize(Configconfig);}上面的整个配置就变成了这样:@Configuration(proxyBeanMethods=false)publicclassMyConfiguration{privateList
