enhancement #I5RV3G 规则插件的报错无法抛出来

This commit is contained in:
everywhere.z
2022-10-24 11:49:10 +08:00
parent 310454929b
commit 4e7d188135
5 changed files with 43 additions and 39 deletions

View File

@@ -34,45 +34,29 @@ public class SpringAware implements ApplicationContextAware, ContextAware {
@Override
public <T> T getBean(String name) {
try{
T t = (T) applicationContext.getBean(name);
return t;
}catch (Exception e){
return null;
}
T t = (T) applicationContext.getBean(name);
return t;
}
@Override
public <T> T getBean(Class<T> clazz) {
try{
T t = applicationContext.getBean(clazz);
return t;
}catch (Exception e){
return null;
}
T t = applicationContext.getBean(clazz);
return t;
}
private <T> T getBean(String beanName, Class<T> clazz) {
try{
T t = applicationContext.getBean(beanName, clazz);
return t;
}catch (Exception e){
return null;
}
T t = applicationContext.getBean(beanName, clazz);
return t;
}
@Override
public <T> T registerBean(String beanName, Class<T> c) {
try{
DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory)applicationContext.getAutowireCapableBeanFactory();
BeanDefinition beanDefinition = new GenericBeanDefinition();
beanDefinition.setBeanClassName(c.getName());
beanFactory.setAllowBeanDefinitionOverriding(true);
beanFactory.registerBeanDefinition(beanName, beanDefinition);
return getBean(beanName);
}catch (Exception e){
return ReflectUtil.newInstance(c);
}
DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory)applicationContext.getAutowireCapableBeanFactory();
BeanDefinition beanDefinition = new GenericBeanDefinition();
beanDefinition.setBeanClassName(c.getName());
beanFactory.setAllowBeanDefinitionOverriding(true);
beanFactory.registerBeanDefinition(beanName, beanDefinition);
return getBean(beanName);
}
@Override
@@ -93,11 +77,16 @@ public class SpringAware implements ApplicationContextAware, ContextAware {
if (ObjectUtil.isNull(applicationContext)){
return null;
}
T t = getBean(beanName, clazz);
if (ObjectUtil.isNull(t)) {
t = registerBean(beanName, clazz);
try{
return getBean(beanName, clazz);
}catch (Exception e){
return registerBean(beanName, clazz);
}
return t;
}
@Override
public boolean hasBean(String beanName){
return applicationContext.containsBean(beanName);
}
@Override