implement classes in core are not Service Beans
diff --git a/eventmesh-dashboard-common/pom.xml b/eventmesh-dashboard-common/pom.xml
index 6fc3e3b..2901172 100644
--- a/eventmesh-dashboard-common/pom.xml
+++ b/eventmesh-dashboard-common/pom.xml
@@ -24,11 +24,6 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
 
         <!-- Utility -->
         <dependency>
diff --git a/eventmesh-dashboard-console/pom.xml b/eventmesh-dashboard-console/pom.xml
index 9013082..b071854 100644
--- a/eventmesh-dashboard-console/pom.xml
+++ b/eventmesh-dashboard-console/pom.xml
@@ -30,11 +30,6 @@
             <artifactId>eventmesh-dashboard-service</artifactId>
             <version>0.0.1-SNAPSHOT</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.eventmesh.dashboard.core</groupId>
-            <artifactId>eventmesh-dashboard-core</artifactId>
-            <version>0.0.1-SNAPSHOT</version>
-        </dependency>
 
         <!-- AOP -->
         <dependency>
diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java
index 4472036..53a951a 100644
--- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java
+++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java
@@ -24,7 +24,7 @@
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-@SpringBootApplication(scanBasePackages = {"org.apache.eventmesh.dashboard.console", "org.apache.eventmesh.dashboard.core"})
+@SpringBootApplication
 @EnableTransactionManagement
 public class EventMeshDashboardApplication {
 
diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java
index 847a24a..37e9049 100644
--- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java
+++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java
@@ -19,7 +19,6 @@
 
 import org.apache.eventmesh.dashboard.service.meta.ConnectionCore;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -30,7 +29,9 @@
 @RestController
 public class ConnectionController {
 
-    @Autowired
+    /**
+     * TODO expose implement by FunctionManager
+     */
     ConnectionCore connectionCore;
 
     /**
diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java
index 38f5b1a..689f833 100644
--- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java
+++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java
@@ -24,8 +24,10 @@
 
 @RestController
 public class MetricsController {
+
     @GetMapping("/druid/stat")
     public Object druidStat() {
         return DruidStatManagerFacade.getInstance().getDataSourceStatDataList();
     }
+
 }
\ No newline at end of file
diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java
index 026a524..1af09ae 100644
--- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java
+++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java
@@ -23,7 +23,6 @@
 
 import java.util.List;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -33,7 +32,9 @@
 @RequestMapping("/api/v1")
 public class SubscriptionController {
 
-    @Autowired
+    /**
+     * TODO expose implement by FunctionManager
+     */
     SubscriptionCore subscriptionCore;
 
     // the subscription dataId naming pattern of EventMesh clients: ip-protocol
diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java
index a005d46..1f6c601 100644
--- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java
+++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java
@@ -25,7 +25,6 @@
 
 import java.util.List;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -40,7 +39,9 @@
 @RequestMapping("/topic")
 public class TopicController {
 
-    @Autowired
+    /**
+     * TODO expose implement by FunctionManager
+     */
     TopicCore topicCore;
 
     /**
diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/config/BeanTypeConfig.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/config/BeanTypeConfig.java
deleted file mode 100644
index 03193f1..0000000
--- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/config/BeanTypeConfig.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.eventmesh.dashboard.core.config;
-
-import org.apache.eventmesh.dashboard.common.constant.ConfigConst;
-import org.apache.eventmesh.dashboard.core.meta.EtcdConnectionCore;
-import org.apache.eventmesh.dashboard.core.meta.EtcdSubscriptionCore;
-import org.apache.eventmesh.dashboard.core.meta.NacosConnectionCore;
-import org.apache.eventmesh.dashboard.core.meta.NacosSubscriptionCore;
-import org.apache.eventmesh.dashboard.core.store.RocketmqTopicCore;
-import org.apache.eventmesh.dashboard.service.meta.ConnectionCore;
-import org.apache.eventmesh.dashboard.service.meta.SubscriptionCore;
-import org.apache.eventmesh.dashboard.service.store.TopicCore;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * Use different registry SDK depending on the configured meta type;
- * Use different storage SDK depending on the configured storage type.
- * TODO get configs from DB (console module's work)
- */
-@Deprecated
-@Configuration
-public class BeanTypeConfig {
-
-    private final AdminProperties adminProperties;
-
-    public BeanTypeConfig(AdminProperties adminProperties) {
-        this.adminProperties = adminProperties;
-    }
-
-    @Bean
-    public ConnectionCore connectionCore() {
-        switch (adminProperties.getMeta().getType()) {
-            case ConfigConst.META_TYPE_NACOS:
-                return new NacosConnectionCore(adminProperties);
-            case ConfigConst.META_TYPE_ETCD:
-                return new EtcdConnectionCore();
-            default:
-                throw new IllegalArgumentException("Unsupported EventMesh Meta type: " + adminProperties.getMeta().getType());
-        }
-    }
-
-    @Bean
-    public SubscriptionCore subscriptionCore() {
-        switch (adminProperties.getMeta().getType()) {
-            case ConfigConst.META_TYPE_NACOS:
-                return new NacosSubscriptionCore(adminProperties);
-            case ConfigConst.META_TYPE_ETCD:
-                return new EtcdSubscriptionCore();
-            default:
-                throw new IllegalArgumentException("Unsupported EventMesh Meta type: " + adminProperties.getMeta().getType());
-        }
-    }
-
-    @Bean
-    public TopicCore topicCore() {
-        switch (adminProperties.getStore().getType()) {
-            case ConfigConst.STORE_TYPE_STANDALONE:
-                return null; // TODO StandaloneTopicService
-            case ConfigConst.STORE_TYPE_ROCKETMQ:
-                return new RocketmqTopicCore(adminProperties);
-            case ConfigConst.STORE_TYPE_KAFKA:
-                return null; // TODO KafkaTopicService
-            default:
-                throw new IllegalArgumentException("Unsupported EventMesh Store type: " + adminProperties.getStore().getType());
-        }
-    }
-}
\ No newline at end of file
diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosConnectionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosConnectionCore.java
deleted file mode 100644
index a9e62ad..0000000
--- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosConnectionCore.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.eventmesh.dashboard.core.meta;
-
-import org.apache.eventmesh.dashboard.core.config.AdminProperties;
-import org.apache.eventmesh.dashboard.service.meta.ConnectionCore;
-
-import org.springframework.stereotype.Service;
-
-import lombok.extern.slf4j.Slf4j;
-
-@Slf4j
-@Service
-public class NacosConnectionCore implements ConnectionCore {
-
-    public NacosConnectionCore(AdminProperties adminProperties) {
-    }
-
-}
diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/EtcdConnectionCore.java
similarity index 89%
rename from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java
rename to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/EtcdConnectionCore.java
index 65f836b..0a994bc 100644
--- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java
+++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/EtcdConnectionCore.java
@@ -15,16 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.eventmesh.dashboard.core.meta;
+package org.apache.eventmesh.dashboard.core.meta.connection;
 
 import org.apache.eventmesh.dashboard.service.meta.ConnectionCore;
 
-import org.springframework.stereotype.Service;
-
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-@Service
 public class EtcdConnectionCore implements ConnectionCore {
 
 }
diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/NacosConnectionCore.java
similarity index 84%
copy from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java
copy to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/NacosConnectionCore.java
index 65f836b..6f02652 100644
--- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java
+++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/NacosConnectionCore.java
@@ -15,16 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.eventmesh.dashboard.core.meta;
+package org.apache.eventmesh.dashboard.core.meta.connection;
 
 import org.apache.eventmesh.dashboard.service.meta.ConnectionCore;
 
-import org.springframework.stereotype.Service;
-
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-@Service
-public class EtcdConnectionCore implements ConnectionCore {
+public class NacosConnectionCore implements ConnectionCore {
 
 }
diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdSubscriptionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/EtcdSubscriptionCore.java
similarity index 92%
rename from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdSubscriptionCore.java
rename to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/EtcdSubscriptionCore.java
index 7fdd957..4fd39c8 100644
--- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdSubscriptionCore.java
+++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/EtcdSubscriptionCore.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.eventmesh.dashboard.core.meta;
+package org.apache.eventmesh.dashboard.core.meta.subscription;
 
 import org.apache.eventmesh.dashboard.common.dto.Result;
 import org.apache.eventmesh.dashboard.common.model.SubscriptionInfo;
@@ -23,12 +23,9 @@
 
 import java.util.List;
 
-import org.springframework.stereotype.Service;
-
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-@Service
 public class EtcdSubscriptionCore implements SubscriptionCore {
 
     @Override
diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosSubscriptionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/NacosSubscriptionCore.java
similarity index 98%
rename from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosSubscriptionCore.java
rename to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/NacosSubscriptionCore.java
index d4436e0..0d665c6 100644
--- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosSubscriptionCore.java
+++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/NacosSubscriptionCore.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.eventmesh.dashboard.core.meta;
+package org.apache.eventmesh.dashboard.core.meta.subscription;
 
 import static org.apache.eventmesh.dashboard.common.enums.Status.NACOS_EMPTY_RESP_ERR;
 import static org.apache.eventmesh.dashboard.common.enums.Status.NACOS_GET_CONFIGS_ERR;
@@ -42,7 +42,6 @@
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
@@ -57,7 +56,6 @@
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-@Service
 public class NacosSubscriptionCore implements SubscriptionCore {
 
     AdminProperties adminProperties;
@@ -114,7 +112,7 @@
 
     /**
      * Retrieve a list of configs with Nacos OpenAPI, because Nacos SDK doesn't support listing and fuzzy matching.
-     *
+     * <p>
      * TODO Granularity should be based on subscriptions rather than Runtime;
      * retrieve all subscriptions for each Runtime, rather than retrieving subscriptions for each individual Runtime.
      */