This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new a6112675a [SCB-2785]support spring boot auto configure and remove 
component scan (#3682)
a6112675a is described below

commit a6112675a1b6c70f28d7723a953b1592704da92d
Author: liubao68 <[email protected]>
AuthorDate: Mon Feb 27 16:56:35 2023 +0800

    [SCB-2785]support spring boot auto configure and remove component scan 
(#3682)
---
 .../provider/pojo/PojoConsumerProvider.java        |  2 --
 ...rovider.java => ProviderPojoConfiguration.java} | 27 ++++++++++++++--------
 .../pojo/reference/RpcReferenceProcessor.java      |  2 --
 .../provider/pojo/schema/PojoProducers.java        |  2 --
 .../src/main/resources/META-INF/spring.factories   | 18 +++++++++++++++
 ...r.java => ProviderRestCommonConfiguration.java} | 21 +++++++++--------
 .../provider/rest/common/RestConsumerProvider.java |  2 --
 .../provider/rest/common/RestProducers.java        |  2 --
 .../src/main/resources/META-INF/spring.factories   | 18 +++++++++++++++
 9 files changed, 66 insertions(+), 28 deletions(-)

diff --git 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
index 86c23304b..f3bae5b0c 100644
--- 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
+++ 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
@@ -20,9 +20,7 @@ package org.apache.servicecomb.provider.pojo;
 import static org.apache.servicecomb.provider.pojo.PojoConst.POJO;
 
 import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
 
-@Component
 public class PojoConsumerProvider extends AbstractConsumerProvider {
   @Override
   public String getName() {
diff --git 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/ProviderPojoConfiguration.java
similarity index 58%
copy from 
providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
copy to 
providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/ProviderPojoConfiguration.java
index 86c23304b..14f91542f 100644
--- 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
+++ 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/ProviderPojoConfiguration.java
@@ -14,18 +14,27 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.servicecomb.provider.pojo;
 
-import static org.apache.servicecomb.provider.pojo.PojoConst.POJO;
+import org.apache.servicecomb.provider.pojo.reference.RpcReferenceProcessor;
+import org.apache.servicecomb.provider.pojo.schema.PojoProducers;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class ProviderPojoConfiguration {
+  @Bean
+  public PojoConsumerProvider pojoConsumerProvider() {
+    return new PojoConsumerProvider();
+  }
 
-import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
+  @Bean
+  public RpcReferenceProcessor rpcReferenceProcessor() {
+    return new RpcReferenceProcessor();
+  }
 
-@Component
-public class PojoConsumerProvider extends AbstractConsumerProvider {
-  @Override
-  public String getName() {
-    return POJO;
+  @Bean
+  public PojoProducers pojoProducers() {
+    return new PojoProducers();
   }
 }
diff --git 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
index 0663ac001..d986194e7 100644
--- 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
+++ 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
@@ -24,11 +24,9 @@ import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.beans.factory.config.BeanPostProcessor;
 import org.springframework.context.EmbeddedValueResolverAware;
-import org.springframework.stereotype.Component;
 import org.springframework.util.ReflectionUtils;
 import org.springframework.util.StringValueResolver;
 
-@Component
 public class RpcReferenceProcessor implements BeanPostProcessor, 
EmbeddedValueResolverAware {
   private StringValueResolver resolver;
 
diff --git 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
index a8791098f..a6a5a818f 100644
--- 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
+++ 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
@@ -25,9 +25,7 @@ import 
org.apache.servicecomb.foundation.common.utils.BeanUtils;
 import org.apache.servicecomb.provider.pojo.RpcSchema;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.stereotype.Component;
 
-@Component
 public class PojoProducers implements BeanPostProcessor {
   private final List<ProducerMeta> producerMetas = new ArrayList<>();
 
diff --git 
a/providers/provider-pojo/src/main/resources/META-INF/spring.factories 
b/providers/provider-pojo/src/main/resources/META-INF/spring.factories
new file mode 100644
index 000000000..49f70b76c
--- /dev/null
+++ b/providers/provider-pojo/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+  org.apache.servicecomb.provider.pojo.ProviderPojoConfiguration
diff --git 
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
 
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProviderRestCommonConfiguration.java
similarity index 70%
copy from 
providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
copy to 
providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProviderRestCommonConfiguration.java
index f87b6816f..7f613d10f 100644
--- 
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
+++ 
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProviderRestCommonConfiguration.java
@@ -14,17 +14,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.servicecomb.provider.rest.common;
 
-import org.apache.servicecomb.common.rest.RestConst;
-import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class ProviderRestCommonConfiguration {
+  @Bean
+  public RestProducers restProducers() {
+    return new RestProducers();
+  }
 
-@Component
-public class RestConsumerProvider extends AbstractConsumerProvider {
-  @Override
-  public String getName() {
-    return RestConst.REST;
+  @Bean
+  public RestConsumerProvider restConsumerProvider() {
+    return new RestConsumerProvider();
   }
 }
diff --git 
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
 
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
index f87b6816f..31877baf4 100644
--- 
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
+++ 
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
@@ -19,9 +19,7 @@ package org.apache.servicecomb.provider.rest.common;
 
 import org.apache.servicecomb.common.rest.RestConst;
 import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
 
-@Component
 public class RestConsumerProvider extends AbstractConsumerProvider {
   @Override
   public String getName() {
diff --git 
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
 
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
index 6511ee181..cf0f5fba3 100644
--- 
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
+++ 
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
@@ -26,11 +26,9 @@ import 
org.apache.servicecomb.foundation.common.utils.BeanUtils;
 import org.apache.servicecomb.foundation.common.utils.ReflectUtils;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.stereotype.Component;
 
 import com.netflix.config.DynamicPropertyFactory;
 
-@Component
 public class RestProducers implements BeanPostProcessor {
   private final List<ProducerMeta> producerMetaList = new ArrayList<>();
 
diff --git 
a/providers/provider-rest-common/src/main/resources/META-INF/spring.factories 
b/providers/provider-rest-common/src/main/resources/META-INF/spring.factories
new file mode 100644
index 000000000..8de272565
--- /dev/null
+++ 
b/providers/provider-rest-common/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+  org.apache.servicecomb.provider.rest.common.ProviderRestCommonConfiguration

Reply via email to