diff --git a/commons/common-util/pom.xml b/commons/common-util/pom.xml index afcaad76102da543341403b2951b369a595d0cc9..b168689d35076a93ee0c18dfc843a712af90f615 100644 --- a/commons/common-util/pom.xml +++ b/commons/common-util/pom.xml @@ -19,6 +19,10 @@ com.schbrain.common common + + cglib + cglib + cn.hutool hutool-all diff --git a/pom.xml b/pom.xml index 8dda134b747fb8688c971fed51fce4158e165a6f..b6e63f9e6d168bb252700692950484e17732358c 100644 --- a/pom.xml +++ b/pom.xml @@ -49,8 +49,8 @@ ${revision} ${revision} ${revision} - ${revision} ${revision} + ${revision} ${revision} ${revision} ${revision} @@ -64,17 +64,15 @@ 2.1.0 - 1.73 + 1.73 3.3.0 5.5.0 - 3.5.1 4.4 1.23.0 1.9.4 2.11.0 3.2.0 1.2.17 - 3.5.0 3.2.1 1.2.83 2.0.29 @@ -87,18 +85,17 @@ 3.5.3.1 2.5.1 5.3.2 - - 3.18.0 8.15.0 2.0.2 3.8.1 + 3.5.1 + 4.6.3 2.16.16 3.1.1 1.2.6 - 4.6.3 3.16.2 @@ -130,36 +127,31 @@ + - com.schbrain.common - common - ${schbrain-common.version} + com.schbrain.framework + apollo-spring-boot-starter + ${schbrain-apollo.version} - com.schbrain.common - common-util - ${schbrain-common-util.version} + com.schbrain.framework + schbrain-base-dao + ${schbrain-base-dao.version} - com.schbrain.common - web-common - ${schbrain-web-common.version} + com.schbrain.framework + cache-spring-boot-starter + ${schbrain-cache.version} com.schbrain.common - module-tree - ${schbrain-module-tree.version} - - - - com.schbrain.framework - apollo-spring-boot-starter - ${schbrain-apollo.version} + common + ${schbrain-common.version} - com.schbrain.framework - cache-spring-boot-starter - ${schbrain-cache.version} + com.schbrain.common + common-util + ${schbrain-common-util.version} com.schbrain.framework @@ -181,6 +173,11 @@ logger-spring-boot-starter ${schbrain-logger.version} + + com.schbrain.common + module-tree + ${schbrain-module-tree.version} + com.schbrain.framework mybatis-spring-boot-starter @@ -193,30 +190,30 @@ com.schbrain.framework - xxl-job-spring-boot-starter - ${schbrain-xxl.version} + schbrain-spring-support + ${schbrain-spring-support.version} - com.schbrain.framework - schbrain-base-dao - ${schbrain-base-dao.version} + com.schbrain.common + web-common + ${schbrain-web-common.version} com.schbrain.framework - schbrain-spring-support - ${schbrain-spring-support.version} + xxl-job-spring-boot-starter + ${schbrain-xxl.version} - + - cn.hutool - hutool-all - ${hutool.version} + com.ctrip.framework.apollo + apollo-client + ${apollo.version} org.bouncycastle bcprov-jdk18on - ${bouncycastle.version} + ${bcprov-jdk18on.version} cglib @@ -224,19 +221,19 @@ ${cglib.version} - com.google.guava - guava - ${guava.version} + org.apache.curator + curator-recipes + ${curator.version} - commons-io - commons-io - ${commons-io.version} + org.apache.curator + curator-x-discovery + ${curator.version} - commons-beanutils - commons-beanutils - ${commons-beanutils.version} + org.apache.curator + curator-framework + ${curator.version} org.apache.commons @@ -248,6 +245,16 @@ commons-compress ${commons-compress.version} + + commons-beanutils + commons-beanutils + ${commons-beanutils.version} + + + commons-io + commons-io + ${commons-io.version} + org.apache.commons commons-lang3 @@ -258,31 +265,6 @@ commons-pool2 ${commons-pool2.version} - - com.belerweb - pinyin4j - ${pinyin4j.version} - - - com.google.zxing - core - ${com.google.zxing.version} - - - com.alibaba - fastjson - ${fastjson.version} - - - com.alibaba.fastjson2 - fastjson2 - ${fastjson2.version} - - - com.alibaba - easyexcel - ${easyexcel.version} - org.apache.dubbo dubbo @@ -293,7 +275,6 @@ dubbo-spring-boot-starter ${dubbo.version} - org.apache.dubbo dubbo-common @@ -356,29 +337,49 @@ - org.apache.zookeeper - zookeeper - ${zookeeper.version} + com.alibaba + druid + ${druid.version} - org.apache.curator - curator-recipes - ${curator.version} + com.alibaba + druid-spring-boot-starter + ${druid.version} - org.apache.curator - curator-x-discovery - ${curator.version} + com.alibaba + easyexcel + ${easyexcel.version} - org.apache.curator - curator-framework - ${curator.version} + com.alibaba + fastjson + ${fastjson.version} - com.github.pagehelper - pagehelper - ${pagehelper.version} + com.alibaba.fastjson2 + fastjson2 + ${fastjson2.version} + + + com.google.guava + guava + ${guava.version} + + + com.google.inject + guice + ${guice.version} + + + cn.hutool + hutool-all + ${hutool.version} + + + net.logstash.logback + logstash-logback-encoder + ${logstash-logback-encoder.version} org.mybatis @@ -402,29 +403,56 @@ - com.alibaba - druid - ${druid.version} + com.belerweb + pinyin4j + ${pinyin4j.version} - com.alibaba - druid-spring-boot-starter - ${druid.version} + com.github.pagehelper + pagehelper + ${pagehelper.version} - com.ctrip.framework.apollo - apollo-client - ${apollo.version} + org.redisson + redisson + ${redisson.version} - com.google.inject - guice - ${guice.version} + org.redisson + redisson-spring-boot-starter + ${redisson.version} + + + org.apache.skywalking + apm-toolkit-trace + ${skywalking-tooklit.version} + + + org.apache.skywalking + apm-toolkit-logback-1.x + ${skywalking-tooklit.version} + + com.xuxueli + xxl-job-core + ${xxl-job.version} + + + org.apache.zookeeper + zookeeper + ${zookeeper.version} + + + com.google.zxing + core + ${zxing-core.version} + + + com.aliyun aliyun-java-sdk-core - ${aliyun-sdk-core.version} + ${aliyun-java-sdk-core.version} commons-logging @@ -436,6 +464,11 @@ + + com.aliyun + aliyun-java-sdk-vod + ${aliyun-java-sdk-vod.version} + com.aliyun.oss aliyun-sdk-oss @@ -449,14 +482,15 @@ com.aliyun - aliyun-java-sdk-vod - ${aliyun-java-sdk-vod.version} + aliyun-java-sdk-sts + ${aliyun-java-sdk-sts.version} com.aliyun - aliyun-java-sdk-sts - ${aliyun-java-sdk-sts.version} + aliyun-java-sdk-dypnsapi + ${aliyun-java-sdk-dypnsapi.version} + com.aliyun @@ -468,11 +502,6 @@ aliyun-gateway-pop ${aliyun-gateway-pop.version} - - com.aliyun - aliyun-java-sdk-dypnsapi - ${aliyun-java-sdk-dypnsapi.version} - com.aliyun alibabacloud-sts20150401 @@ -493,6 +522,7 @@ alibabacloud-dysmsapi20170525 ${alibabacloud-dysmsapi20170525.version} + com.aliyun @@ -504,36 +534,6 @@ dingtalk ${aliyun-dingtalk-sdk.version} - - org.redisson - redisson - ${redisson.version} - - - org.redisson - redisson-spring-boot-starter - ${redisson.version} - - - org.apache.skywalking - apm-toolkit-trace - ${skywalking-tooklit.version} - - - org.apache.skywalking - apm-toolkit-logback-1.x - ${skywalking-tooklit.version} - - - net.logstash.logback - logstash-logback-encoder - ${logstash-logback-encoder.version} - - - com.xuxueli - xxl-job-core - ${xxl-job.version} - diff --git a/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/GenericPropertiesPreparedEventListener.java b/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/GenericPropertiesPreparedEventListener.java new file mode 100644 index 0000000000000000000000000000000000000000..dd066d7fd6c9673dea464405ca4cd9c5a1919bdc --- /dev/null +++ b/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/GenericPropertiesPreparedEventListener.java @@ -0,0 +1,32 @@ +package com.schbrain.framework.autoconfigure.apollo.listener; + +import com.schbrain.common.util.support.ConfigurableProperties; +import org.apache.commons.logging.Log; +import org.springframework.core.ResolvableType; + +/** + * @author liaozan + * @since 2023-04-28 + */ +@SuppressWarnings("unchecked") +public abstract class GenericPropertiesPreparedEventListener implements PropertiesPreparedEventListener { + + protected final ResolvableType propertiesType; + + protected Log log; + + public GenericPropertiesPreparedEventListener() { + this.propertiesType = ResolvableType.forInstance(this).getSuperType().getGeneric(0); + } + + @Override + public void onApplicationEvent(PropertiesPreparedEvent event) { + if (propertiesType.isInstance(event.getConfigurableProperties())) { + this.log = event.getDeferredLogFactory().getLog(getClass()); + this.onPropertiesPrepared(event, (T) event.getConfigurableProperties()); + } + } + + protected abstract void onPropertiesPrepared(PropertiesPreparedEvent event, T configurableProperties); + +} \ No newline at end of file diff --git a/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/PropertiesPreparedEventListener.java b/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/PropertiesPreparedEventListener.java index f8707b2afa4b30529316220b003c65ad5da82f99..25ec1404f321df8887bec0baf4f3c101d2a42b4d 100644 --- a/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/PropertiesPreparedEventListener.java +++ b/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/PropertiesPreparedEventListener.java @@ -1,11 +1,17 @@ package com.schbrain.framework.autoconfigure.apollo.listener; import org.springframework.context.ApplicationListener; +import org.springframework.core.Ordered; /** * @author liaozan * @since 2023-04-29 */ -public interface PropertiesPreparedEventListener extends ApplicationListener { +public interface PropertiesPreparedEventListener extends ApplicationListener, Ordered { + + @Override + default int getOrder() { + return Ordered.LOWEST_PRECEDENCE; + } } \ No newline at end of file diff --git a/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/PropertiesPreparedEventListenerAdapter.java b/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/PropertiesPreparedEventListenerAdapter.java deleted file mode 100644 index a6a364e39c9b506c4d5958832d5bddcf4e438f95..0000000000000000000000000000000000000000 --- a/starters/apollo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/apollo/listener/PropertiesPreparedEventListenerAdapter.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.schbrain.framework.autoconfigure.apollo.listener; - -import com.schbrain.common.util.support.ConfigurableProperties; -import org.apache.commons.logging.Log; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; - -/** - * @author liaozan - * @since 2023-04-28 - */ -@SuppressWarnings("unchecked") -public class PropertiesPreparedEventListenerAdapter implements PropertiesPreparedEventListener { - - private final Class propertyType; - - protected Log log; - - public PropertiesPreparedEventListenerAdapter() { - ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass(); - Type[] actualTypeArguments = parameterizedType.getActualTypeArguments(); - this.propertyType = (Class) actualTypeArguments[0]; - } - - @Override - public void onApplicationEvent(PropertiesPreparedEvent event) { - if (event.getConfigurableProperties().getClass() == propertyType) { - this.log = event.getDeferredLogFactory().getLog(this.getClass()); - this.onPropertiesPrepared(event, (T) event.getConfigurableProperties()); - } - } - - protected void onPropertiesPrepared(PropertiesPreparedEvent event, T configurableProperties) { - - } - -} \ No newline at end of file diff --git a/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboPropertiesPreparedEventListener.java b/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboPropertiesPreparedEventListener.java index dc44c56b0e3ea6448dec0c1b4b0cdc78c2f3826d..b54344b18439510c92b39e4d22bd7c397d6c2573 100644 --- a/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboPropertiesPreparedEventListener.java +++ b/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboPropertiesPreparedEventListener.java @@ -3,13 +3,14 @@ package com.schbrain.framework.autoconfigure.dubbo.listener; import com.alibaba.fastjson2.JSONFactory; import com.google.common.collect.Maps; import com.schbrain.common.util.ApplicationName; +import com.schbrain.framework.autoconfigure.apollo.listener.GenericPropertiesPreparedEventListener; import com.schbrain.framework.autoconfigure.apollo.listener.PropertiesPreparedEvent; -import com.schbrain.framework.autoconfigure.apollo.listener.PropertiesPreparedEventListenerAdapter; import com.schbrain.framework.autoconfigure.dubbo.properties.DubboProperties; import org.apache.dubbo.config.bootstrap.DubboBootstrap; import org.apache.dubbo.config.spring.ConfigCenterBean; import org.apache.dubbo.config.spring.util.EnvironmentUtils; import org.springframework.boot.SpringApplication; +import org.springframework.core.Ordered; import org.springframework.core.env.ConfigurableEnvironment; import java.util.Map; @@ -21,10 +22,15 @@ import static org.apache.dubbo.config.ConfigKeys.DUBBO_SCAN_BASE_PACKAGES; * @author liaozan * @since 2023-04-28 */ -public class DubboPropertiesPreparedEventListener extends PropertiesPreparedEventListenerAdapter { +public class DubboPropertiesPreparedEventListener extends GenericPropertiesPreparedEventListener { public static final String DUBBO_APPLICATION_NAME = "dubbo.application.name"; + @Override + public int getOrder() { + return Ordered.HIGHEST_PRECEDENCE; + } + @Override protected void onPropertiesPrepared(PropertiesPreparedEvent event, DubboProperties properties) { ConfigurableEnvironment environment = event.getEnvironment(); diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/LoggerAutoConfiguration.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/LoggerAutoConfiguration.java index ffa870bd821ee179b4dd2bb84aaa30db78dde8e7..14703501bbadf3b3cc9225fa1e9ca3a1d039f39c 100644 --- a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/LoggerAutoConfiguration.java +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/LoggerAutoConfiguration.java @@ -3,10 +3,8 @@ package com.schbrain.framework.autoconfigure.logger; import com.schbrain.framework.autoconfigure.logger.apollo.DynamicLoggerConfiguration; import com.schbrain.framework.autoconfigure.logger.properties.LoggerProperties; import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Import; -import org.springframework.core.Ordered; /** * @author liaozan @@ -14,7 +12,6 @@ import org.springframework.core.Ordered; */ @AutoConfiguration @Import(DynamicLoggerConfiguration.class) -@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @EnableConfigurationProperties(LoggerProperties.class) public class LoggerAutoConfiguration { diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggerPropertiesPreparedEventListener.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggerPropertiesPreparedEventListener.java index be53dd24874be44f4f4e29a6e10d73c8fc8c4776..a0f3b7d52d7dc1e910f854d8ee913fe557be9bea 100644 --- a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggerPropertiesPreparedEventListener.java +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggerPropertiesPreparedEventListener.java @@ -8,8 +8,8 @@ import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; import com.google.common.collect.Maps; import com.schbrain.common.util.InetUtils; import com.schbrain.common.util.InetUtils.HostInfo; +import com.schbrain.framework.autoconfigure.apollo.listener.GenericPropertiesPreparedEventListener; import com.schbrain.framework.autoconfigure.apollo.listener.PropertiesPreparedEvent; -import com.schbrain.framework.autoconfigure.apollo.listener.PropertiesPreparedEventListenerAdapter; import com.schbrain.framework.autoconfigure.logger.LoggerConfigurationInitializer; import com.schbrain.framework.autoconfigure.logger.properties.LoggerProperties; import org.springframework.core.env.ConfigurableEnvironment; @@ -25,7 +25,7 @@ import static org.springframework.boot.context.logging.LoggingApplicationListene * @author liaozan * @since 2023-04-28 */ -public class LoggerPropertiesPreparedEventListener extends PropertiesPreparedEventListenerAdapter { +public class LoggerPropertiesPreparedEventListener extends GenericPropertiesPreparedEventListener { @Override protected void onPropertiesPrepared(PropertiesPreparedEvent event, LoggerProperties properties) { diff --git a/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/datasource/DataSourceConnectionPostProcessor.java b/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/datasource/DataSourceConnectionPostProcessor.java index a18a2f99794d2c63ec78d20c2bdf53ae0eb3e25c..a05023b98d414f2672535c0f85ed36538f1f45c7 100644 --- a/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/datasource/DataSourceConnectionPostProcessor.java +++ b/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/datasource/DataSourceConnectionPostProcessor.java @@ -2,7 +2,7 @@ package com.schbrain.framework.autoconfigure.mybatis.datasource; import com.schbrain.framework.autoconfigure.mybatis.datasource.customizer.DataSourceCustomizer; import com.schbrain.framework.autoconfigure.mybatis.properties.DataSourceConnectionProperties; -import com.schbrain.framework.support.spring.BeanPostProcessorAdapter; +import com.schbrain.framework.support.spring.GenericBeanPostProcessor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeansException; import org.springframework.beans.factory.ObjectProvider; @@ -15,7 +15,7 @@ import java.sql.SQLException; * @since 2021/11/23 */ @Slf4j -public class DataSourceConnectionPostProcessor extends BeanPostProcessorAdapter { +public class DataSourceConnectionPostProcessor extends GenericBeanPostProcessor { // use ObjectProvider to avoid early initialization beans private final ObjectProvider customizers; @@ -29,14 +29,13 @@ public class DataSourceConnectionPostProcessor extends BeanPostProcessorAdapter< @Override protected void processBeforeInitialization(DataSource dataSource, String beanName) throws BeansException { - DataSourceConnectionProperties connectionProperties = this.connectionProperties.getObject(); - customizers.orderedStream().forEach(customizer -> { + this.connectionProperties.ifAvailable(properties -> customizers.orderedStream().forEach(customizer -> { try { - customizer.customize(dataSource, connectionProperties); + customizer.customize(dataSource, properties); } catch (SQLException e) { - log.warn("failed to customize dataSource connectionProperties", e); + log.warn("Failed to customize dataSource connectionProperties", e); } - }); + })); } } \ No newline at end of file diff --git a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/BeanPostProcessorAdapter.java b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/GenericBeanPostProcessor.java similarity index 77% rename from support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/BeanPostProcessorAdapter.java rename to support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/GenericBeanPostProcessor.java index fc77e4f51ee98a22d83ae4d19d933bcebb50a0ec..ec9ced6c8f433a5b3b41c1debfdb01dd7acb6ef5 100644 --- a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/BeanPostProcessorAdapter.java +++ b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/GenericBeanPostProcessor.java @@ -4,21 +4,18 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor; import org.springframework.context.*; +import org.springframework.core.ResolvableType; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.util.Assert; -import org.springframework.util.ClassUtils; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; /** * @author liaozan * @since 2021/11/22 */ @SuppressWarnings({"unchecked", "unused"}) -public abstract class BeanPostProcessorAdapter implements SmartInstantiationAwareBeanPostProcessor, ApplicationContextAware { +public abstract class GenericBeanPostProcessor implements SmartInstantiationAwareBeanPostProcessor, ApplicationContextAware { - private final Class beanType; + private final ResolvableType beanType; protected ConfigurableApplicationContext applicationContext; @@ -26,38 +23,37 @@ public abstract class BeanPostProcessorAdapter implements SmartInstantiationA protected ConfigurableEnvironment environment; - public BeanPostProcessorAdapter() { - ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass(); - Type[] actualTypeArguments = parameterizedType.getActualTypeArguments(); - this.beanType = (Class) actualTypeArguments[0]; + public GenericBeanPostProcessor() { + this.beanType = ResolvableType.forInstance(this).getSuperType().getGeneric(0); } @Override public final Object postProcessBeforeInstantiation(Class beanClass, String beanName) throws BeansException { - if (ClassUtils.isAssignable(beanType, beanClass)) { + if (beanType.isAssignableFrom(beanClass)) { return doPostProcessBeforeInstantiation((Class) beanClass); } return null; } @Override - public final Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { - if (ClassUtils.isAssignableValue(beanType, bean)) { - return doPostProcessBeforeInitialization((T) bean, beanName); - } - return bean; - } - public final boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { - if (ClassUtils.isAssignableValue(beanType, bean)) { + if (beanType.isInstance(bean)) { return doPostProcessAfterInstantiation((T) bean); } return true; } + @Override + public final Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { + if (beanType.isInstance(bean)) { + return doPostProcessBeforeInitialization((T) bean, beanName); + } + return bean; + } + @Override public final Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { - if (ClassUtils.isAssignableValue(beanType, bean)) { + if (beanType.isInstance(bean)) { return doPostProcessAfterInitialization((T) bean, beanName); } return bean; @@ -65,16 +61,12 @@ public abstract class BeanPostProcessorAdapter implements SmartInstantiationA @Override public void setApplicationContext(ApplicationContext context) throws BeansException { - Assert.isInstanceOf(ConfigurableApplicationContext.class, context, "require ConfigurableApplicationContext"); + Assert.isInstanceOf(ConfigurableApplicationContext.class, context, "Require ConfigurableApplicationContext"); this.applicationContext = (ConfigurableApplicationContext) context; this.beanFactory = this.applicationContext.getBeanFactory(); this.environment = this.applicationContext.getEnvironment(); } - public final Class getBeanType() { - return beanType; - } - // region Instantiation protected T doPostProcessBeforeInstantiation(Class beanClass) { return null;