美文网首页
PostConstruct注解

PostConstruct注解

作者: Yluozi | 来源:发表于2021-03-03 09:17 被阅读0次
/**
 * @author :xxx
 * @description:枚举动态获取
 * @date :Created in 2021/3/2 17:04 *
 * @modified By:
 */

@Component
public class SetEnumUtils {

    @Autowired
    ProductConfigService productConfigService;

    @PostConstruct
    public void setConfigure() {

        try {
            //遍历set所有资源的ID、代码、名称及封面信息(要求代码、ID必须不能为空;另外值如果为空,则赋值空字符串,避免无效定义)
            List<ResourceType> list = productConfigService.getResourceTypeAll();
            for(ResourceType it: list) {
                if (it.getResourceId() > 0 && StringUtils.isNotBlank(it.getResourceCode())) {
                    //动态加载枚举配置
                    DynamicEnumUtil.addEnum(ResourceUtils.ResourceID.class,it.getResourceCode(),new Class[]{String.class},new Object[]{it.getResourceId().toString()});
                    DynamicEnumUtil.addEnum(ResourceUtils.ResourceCode.class,it.getResourceCode(),new Class[]{String.class},new Object[]{it.getResourceCode()});
                }
            }

        } catch (Exception e) {

        }
    }
}

PostConstruct在构造函数之后执行,init()方法之前执行;
他是Java自己的注解,对象被构造前执行,AutowiredAnnotationBeanPostProcessor 扫描 Spring 容器中所有 Bean,他在扫描到的时候执行的。

相关文章

网友评论

      本文标题:PostConstruct注解

      本文链接:https://www.haomeiwen.com/subject/vqzfqltx.html