package com.zt.plat.module.base.framework.util.config;

import com.zt.plat.module.base.util.ClassInfoScanner;
import jakarta.annotation.PostConstruct;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "base") // 指定配置前缀
@Slf4j
@Getter
@Setter
public class UtilConfig {
    private String[] packages;

    /**
     * 当Spring容器初始化该配置类后，自动执行初始化操作
     */
    @PostConstruct
    public void initClassInfoScanner() {
        try {
            // 使用从配置获取的包路径初始化类信息扫描工具
            ClassInfoScanner.init(packages);
        } catch (Exception e) {
            log.error("ClassInfoScanner初始化失败：{}", e.getMessage());
            //throw new RuntimeException("类信息扫描工具初始化失败", e);
        }
    }
}
