From df4576b4228b67f9b400396f0c930019f44e0c84 Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Tue, 5 Mar 2024 21:37:04 +0800 Subject: [PATCH] Remove @Component annotation --- .../client/annotation/CanalEventListener.java | 6 +- .../client/conf/CanalClientConfiguration.java | 11 ++-- .../client/conf/SchbrainCanalConfig.java | 23 ++------ .../schbrain/canal/client/utils/BeanUtil.java | 56 +++++++------------ 4 files changed, 34 insertions(+), 62 deletions(-) diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/CanalEventListener.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/CanalEventListener.java index 61b6924..f91aaf0 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/CanalEventListener.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/CanalEventListener.java @@ -5,16 +5,14 @@ import org.springframework.stereotype.Component; import java.lang.annotation.*; - +@Component +@Documented @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) -@Documented -@Component public @interface CanalEventListener { /** * bean name - * @return */ @AliasFor(annotation = Component.class) String value() default ""; diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/CanalClientConfiguration.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/CanalClientConfiguration.java index 2f4b446..a265213 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/CanalClientConfiguration.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/CanalClientConfiguration.java @@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; @@ -17,7 +18,6 @@ import org.springframework.core.annotation.Order; * 启动配置类 * * @author zhuyf - * @date 2022/6/16 */ @Slf4j public class CanalClientConfiguration { @@ -27,17 +27,18 @@ public class CanalClientConfiguration { @Bean @Order(Ordered.HIGHEST_PRECEDENCE) - public BeanUtil beanUtil() { - return new BeanUtil(); + public BeanUtil beanUtil(ApplicationContext context) { + return new BeanUtil(context); } @Bean @ConditionalOnMissingBean(CanalClient.class) - private CanalClient canalClient(ConfigurableBeanFactory configurableBeanFactory) { + private CanalClient canalClient(ConfigurableBeanFactory beanFactory) { log.info("starting canal client...."); TransponderFactory factory = MessageTransponders.defaultMessageTransponder(); - CanalClient client = new SimpleCanalClient(schbrainCanalConfig,factory,configurableBeanFactory); + CanalClient client = new SimpleCanalClient(schbrainCanalConfig, factory, beanFactory); client.start(); return client; } + } diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/SchbrainCanalConfig.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/SchbrainCanalConfig.java index b6e5ca2..600dafa 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/SchbrainCanalConfig.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/SchbrainCanalConfig.java @@ -1,16 +1,18 @@ package com.schbrain.canal.client.conf; +import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; + import java.util.LinkedHashMap; import java.util.Map; /** * Canal配置 + * * @author zhuyf - * @date 2022/6/16 + * @since 2022/6/16 */ -@Component +@Data @ConfigurationProperties(prefix = "canal.client") public class SchbrainCanalConfig { @@ -19,19 +21,4 @@ public class SchbrainCanalConfig { */ private Map instances = new LinkedHashMap<>(); - /** - * 获取实例列表 - * @return - */ - public Map getInstances() { - return instances; - } - - /** - * 设置实例列表 - * @param instances - */ - public void setInstances(Map instances) { - this.instances = instances; - } } diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/utils/BeanUtil.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/utils/BeanUtil.java index 016cd10..8fb2afe 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/utils/BeanUtil.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/utils/BeanUtil.java @@ -1,73 +1,59 @@ package com.schbrain.canal.client.utils; -import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.stereotype.Component; import java.lang.annotation.Annotation; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author zhuyf - * @date 2022/6/16 + * @since 2022/6/16 */ -@Component -public class BeanUtil implements ApplicationContextAware { +public class BeanUtil { private static ApplicationContext applicationContext; - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - BeanUtil.applicationContext = applicationContext; + public BeanUtil(ApplicationContext context) { + applicationContext = context; } /** * get bean - * @param clazz - * @param - * @return */ - public static T getBean(Class clazz) { - T obj; + public static T getBean(Class type) { + T bean; try { - obj = applicationContext.getBean(clazz); + bean = applicationContext.getBean(type); } catch (Exception e) { - obj = null; + bean = null; } - return obj; + return bean; } /** * get bean list - * @param clazz - * @param - * @return */ - public static List getBeansOfType(Class clazz) { - Map map; + public static List getBeansOfType(Class type) { + Map beanMap; try { - map = applicationContext.getBeansOfType(clazz); + beanMap = applicationContext.getBeansOfType(type); } catch (Exception e) { - map = null; + beanMap = null; } - return map == null ? null : new ArrayList<>(map.values()); + return beanMap == null ? null : new ArrayList<>(beanMap.values()); } /** * get with annotation - * @param anno - * @return */ - public static Map getBeansWithAnnotation(Class anno) { - Map map; + public static Map getBeansWithAnnotation(Class annotationType) { + Map beanMap; try { - map = applicationContext.getBeansWithAnnotation(anno); + beanMap = applicationContext.getBeansWithAnnotation(annotationType); } catch (Exception e) { - map = null; + beanMap = null; } - return map; + return beanMap; } + } -- GitLab