V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  makinomura  ›  全部回复第 1 页 / 共 1 页
回复总数  5
2022-01-27 13:34:34 +08:00
回复了 rick2c 创建的主题 健康 突然耳鸣了怎么办
耳鸣五年了,偶尔会加重一阵。吃过银杏叶胶囊、金纳多、甲钴胺、腺苷钴胺、胞磷胆碱钠、糖皮质激素,但是都没什么用。要注意休息,休息不好耳鸣会加重,耳鸣加重又会影响休息。所以还是要自己调整好心态。
2022-01-26 10:38:16 +08:00
回复了 lawler 创建的主题 Java mybatisplus 如何动态创建 mapper 接口。
public class DomainScanner extends ClassPathBeanDefinitionScanner {
public DomainScanner(BeanDefinitionRegistry registry) {
super(registry, false);
}

@Override
protected boolean isCandidateComponent(MetadataReader metadataReader) {
return true;
}

@Override
protected Set<BeanDefinitionHolder> doScan(String... basePackages) {
Set<BeanDefinitionHolder> beanDefinitionHolders = super.doScan(
basePackages);
for (BeanDefinitionHolder beanDefinitionHolder : beanDefinitionHolders) {
ScannedGenericBeanDefinition beanDefinition = (ScannedGenericBeanDefinition) beanDefinitionHolder
.getBeanDefinition();
String beanClassName = beanDefinition.getBeanClassName();
Class<?> entityClazz = null;
try {
entityClazz = Class.forName(beanClassName);
} catch (ClassNotFoundException e) {
throw new IllegalArgumentException(beanClassName);
}
DynamicMapperCreator dynamicMapperCreator = new DynamicMapperCreator();
Class<?> mapperClazz = dynamicMapperCreator
.getOrCreateMapperClazz(entityClazz);
beanDefinition.setBeanClass(MapperFactoryBean.class);
ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues();
constructorArgumentValues.addIndexedArgumentValue(0, mapperClazz);
beanDefinition
.setConstructorArgumentValues(constructorArgumentValues);
beanDefinition.getPropertyValues().add("sqlSessionFactory",
new RuntimeBeanReference("sqlSessionFactory"));
}

return beanDefinitionHolders;
}
}

public class MapperRegister implements BeanDefinitionRegistryPostProcessor {
@Override
public void postProcessBeanDefinitionRegistry(
BeanDefinitionRegistry registry) throws BeansException {
new DomainScanner(registry).scan("umoo.wang.domain");
}

@Override
public void postProcessBeanFactory(
ConfigurableListableBeanFactory beanFactory) throws BeansException {
}
}
2022-01-26 10:37:31 +08:00
回复了 lawler 创建的主题 Java mybatisplus 如何动态创建 mapper 接口。
@lawler #24 我简单写了个 demo
2022-01-24 12:03:51 +08:00
回复了 lawler 创建的主题 Java mybatisplus 如何动态创建 mapper 接口。
@lawler BeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry 这个里面注册 beanDefinition 即可,注意要使用 MapperFactoryBean
2022-01-24 10:22:50 +08:00
回复了 lawler 创建的主题 Java mybatisplus 如何动态创建 mapper 接口。
1. 自定义注解处理器编译时自动生成接口文件
2. asm 运行时动态生成 class
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2669 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 15:31 · PVG 23:31 · LAX 08:31 · JFK 11:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.