All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.tenfell.plugins.dbgenerate.component.DbGenerateRegistrar Maven / Gradle / Ivy

package cn.tenfell.plugins.dbgenerate.component;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.tenfell.plugins.dbgenerate.annotation.EnableDbGenerate;
import cn.tenfell.plugins.dbgenerate.utils.DocUtils;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
import org.springframework.core.annotation.AnnotationAttributes;
import org.springframework.core.type.AnnotationMetadata;

import java.util.HashSet;

/**
 * 数据库生成注册器
 * @author fs
 */
public class DbGenerateRegistrar implements ImportBeanDefinitionRegistrar {
    @Override
    public void registerBeanDefinitions(AnnotationMetadata annotationMetadata, BeanDefinitionRegistry registry) {
        AnnotationAttributes annotationAttributes = AnnotationAttributes.fromMap(annotationMetadata.getAnnotationAttributes(EnableDbGenerate.class.getName()));
        String[] packages = (String[])annotationAttributes.get("beanPackages");
        String password = (String)annotationAttributes.get("password");
        if(packages != null && packages.length>0){
            if(DocUtils.dbGenerateProperties.getBeanPackages() == null){
                DocUtils.dbGenerateProperties.setBeanPackages(new HashSet());
            }
            DocUtils.dbGenerateProperties.getBeanPackages().addAll(CollUtil.toList(packages));
        }
        if(StrUtil.isNotBlank(password)){
            DocUtils.dbGenerateProperties.setPassword(password);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy