针对接口bean的优化,若接口有且仅有唯一实现类,则采用该实现类作为实现

This commit is contained in:
aoshiguchen
2022-07-07 16:25:04 +08:00
parent 025903561d
commit fb33e8ed26
3 changed files with 6 additions and 4 deletions
@@ -81,13 +81,14 @@ public class SimpleBeanFactory extends AbstractBeanFactory {
if (null != order) {
beanWrapper.setOrder(order.value());
}
// ApplicationRunner、Configuration、Interceptor、Filter、ExceptionHandler、ResultAdvice默认不拦截
// 默认不拦截
if (ApplicationRunner.class.isAssignableFrom(type) ||
type.isAnnotationPresent(Configuration.class) ||
Interceptor.class.isAssignableFrom(type) ||
Filer.class.isAssignableFrom(type) ||
ExceptionHandler.class.isAssignableFrom(type) ||
ResultAdvice.class.isAssignableFrom(type)
ResultAdvice.class.isAssignableFrom(type) ||
BeanFactoryAware.class.isAssignableFrom(type)
) {
beanWrapper.setNonIntercept(true);
}
@@ -23,7 +23,6 @@
package fun.asgc.neutrino.core.util;
import fun.asgc.neutrino.core.annotation.Component;
import fun.asgc.neutrino.core.annotation.NonIntercept;
import fun.asgc.neutrino.core.bean.BeanFactory;
import fun.asgc.neutrino.core.bean.BeanFactoryAware;
import lombok.extern.slf4j.Slf4j;
@@ -36,7 +35,6 @@ import java.util.List;
* @date: 2022/6/16
*/
@Slf4j
@NonIntercept
@Component
public class BeanManager implements BeanFactoryAware {
private static volatile BeanFactory beanFactory;
@@ -22,6 +22,7 @@
package fun.asgc.neutrino.core.bean.test1;
import fun.asgc.neutrino.core.annotation.*;
import fun.asgc.neutrino.core.base.GlobalConfig;
import fun.asgc.neutrino.core.bean.BeanMatchMode;
import fun.asgc.neutrino.core.bean.SimpleBeanFactory;
import fun.asgc.neutrino.core.launcher.NeutrinoLauncher;
@@ -79,6 +80,8 @@ public class Launcher {
}
public static void main(String[] args) {
GlobalConfig.setIsPrintGeneratorCode(true);
NeutrinoLauncher.run(Launcher.class, args).sync();
}