SpringBoot极简教程 · Spring Boot Springboot所学所写

Springboot 在启动工程的时访问一次数据库,加载到全局变

2018-09-29  本文已影响114人  织梦少年666

项目启动时读取一次数据库参数,以后直接使用

新建一个InitDataListener类,实现InitializingBean, ServletContextAware,变量声明为静态全局的,直接使用就可以

image.png
import javax.annotation.Resource;
import javax.servlet.ServletContext;
@Service
public class InitDataListener implements InitializingBean, ServletContextAware {

    @Resource
    private VipConfigService vipConfigService;

    public static VipConfig vipj1;
    public static VipConfig vipj2;
    public static VipConfig vipj3;
    public static VipConfig vipj4;

    @Override
    public void afterPropertiesSet() throws Exception {

    }

    @Override
    public void setServletContext(ServletContext servletContext) {
        vipj1= vipConfigService.queryVipConfig(Utils.VIPJ1);
        vipj2= vipConfigService.queryVipConfig(Utils.VIPJ2);
        vipj3= vipConfigService.queryVipConfig(Utils.VIPJ3);
        vipj4= vipConfigService.queryVipConfig(Utils.VIPJ4);
    }
}

其他的按照ssm照常写就可以了,看一下实现层

image.png
@Slf4j
@Service
public class VipConfigServiceImpl implements VipConfigService {

    @Autowired
    VipConfigDao vipConfigDao;

    @Override
    public VipConfig queryVipConfig(String vipname) {
        try {
            return vipConfigDao.queryVipConfig(vipname);
        }catch (Exception e){
            log.error("{}找不到相关的配置信息",vipname);
            throw new RuntimeException(vipname+"找不到相关的配置信息");
        }

    }
}

最后用的时候直接用类名就可以调用了

注意:此作用是用于查询数据库中配置信息的,且只在启动的时候查一次,如果该参数经常修改建议不要用这种方法。如果数据库配置修改了,一定要重新启动该项目才能生效
上一篇 下一篇

猜你喜欢

热点阅读