как передать класс, сгенерированный ASM, пружинному управлению - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу использовать Asm для генерации интерфейса mybatis Mapper и Mapper FactoryBean для генерации прокси-сервера mapper.Как передать агент маппинга пружине для управления?

Когда я вручную создаю файл Java, метод возможен, но с использованием класса, сгенерированного asm, класс подсказок весны не найден

Class cls = MapperHelper.createMapper(Address.class);

BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(cls);

GenericBeanDefinition definition = (GenericBeanDefinition) beanDefinitionBuilder.getRawBeanDefinition();

definition.getConstructorArgumentValues().addGenericArgumentValue(definition.getBeanClassName());
definition.getPropertyValues().add("addToConfig", true);
definition.getPropertyValues().add("mapperInterface", cls);
definition.getPropertyValues().add("sqlSessionFactory", sqlSessionFactory);
definition.getPropertyValues().add("sqlSessionTemplate", sqlSessionTemplate);

definition.setBeanClass(MapperFactoryBean.class);

definition.setAutowireMode(GenericBeanDefinition.AUTOWIRE_BY_TYPE);

// register bean
defaultListableBeanFactory.registerBeanDefinition("addressMapper", definition);

Ошибка при создании компонента с именем 'addressMapper'

java.lang.IllegalArgumentException: Could not find class [com.ccapp.ccpf.rep.mapper.AddressMapper]
...