当前位置: 代码迷 >> 综合 >> spring注解@PostConstruct
  详细解决方案

spring注解@PostConstruct

热度:91   发布时间:2023-12-08 00:28:04.0

spring注解@PostConstruct
@PostConstruct是java5的时候引入的注解,指的是在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。

    @PostConstruct
    protected void initialize() {
        try {
            log.debug("AppInition.initialize() Start...");
            Map configMap= iSystemConfigService.getConfigMap();
            ReflectUtil.reflectProperties(configMap,AppInitConstants.class);
            log.debug("AppInition.initialize() End...");
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }

    }
  

 

 

 

@Component
public class DroolsLoader {

    /**
  
     * @throws IOException
     */
    @PostConstruct
    public void init() throws IOException {
        KieServices kieServices = KieServices.Factory.get();
        KieModuleModel kieModuleModel = kieServices.newKieModuleModel();
        KieBaseModel kieBaseModel = kieModuleModel.newKieBaseModel("Test");
        KieSessionModel kieSessionModel = kieBaseModel.newKieSessionModel("sdfasdf");
        KieFileSystem kfs = kieServices.newKieFileSystem();
      
        String ruleTemplate = IOUtils
                .toString(MyStartProcess.class.getResourceAsStream("/drools/user.drl"),  "UTF-8");
        kfs.write("src/main/resources/drools/hello.drl",ruleTemplate);
        kfs.writeKModuleXML(kieModuleModel.toXML());
        KieBuilder kieBuilder = kieServices.newKieBuilder(kfs).buildAll();
    }
}

这里 就是在加载一些常亮数据
 

  相关解决方案