java 初始化系统参数_系统中参数的初始化 参数在系统中配置
1.我們來(lái)看這個(gè)需求,例如:我們上傳圖片、上傳附件 需要放在服務(wù)器上的一個(gè)目錄上,該目錄在不同的操作系統(tǒng)下是不同的。因?yàn)槲覀冊(cè)趯慾ava代碼的時(shí)候就不能寫死。
這個(gè)時(shí)候我們就要用到系統(tǒng)參數(shù)。在界面上自己去配置。這樣在系統(tǒng)遷移的時(shí)候就不用改java代碼了。
2.系統(tǒng)參數(shù)可以自己在頁(yè)面配置。如下圖所示:
我們可以設(shè)置這樣一個(gè)參數(shù)entity。,設(shè)置一個(gè)界面,該界面可以針對(duì)自己需要改變的參數(shù)進(jìn)行增刪改操作。
3.這里涉及到該參數(shù)entity什么時(shí)候初始化的問題,上一篇文章我們寫到過
我們可以寫一個(gè)類ParameterAAAA 實(shí)現(xiàn)接口BeanPostProcessor ? 同時(shí)我們知道實(shí)現(xiàn)接口需要去重寫其兩個(gè)方法。
這樣在bean初始化的時(shí)候?qū)?shù)這個(gè)對(duì)象放到全局緩存里面去。
@Component
public class ParameterAAAA implements BeanPostProcessor ?{
我們重寫一個(gè)。如下代碼:
@Override
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
if(bean instanceof ParameterService){
Iterable list;
try {
list = ((ParameterService)bean).findAll();
ParameterUtils.updateParam(list);
//?ParameterUtils類中要使用
//是在類中獨(dú)立于類成員的static語(yǔ)句塊,可以有多個(gè),位置可以隨便放,它不在任何的方法體內(nèi),JVM加載類時(shí)會(huì)執(zhí)行這些靜態(tài)的代碼塊,如果static
//代碼塊有多個(gè),JVM將按照它們?cè)陬愔谐霈F(xiàn)的先后順序依次執(zhí)行它們,每個(gè)代碼塊只會(huì)被執(zhí)行一次
logger.info("加載參數(shù)成功");
} catch (ServiceException e) {
logger.error("加載參數(shù)失敗!");
e.printStackTrace();
}
}
return bean;
}
4.有了系統(tǒng)參數(shù)這個(gè)全局變量,我們就就可以隨時(shí)去自己需要的參數(shù),同時(shí)參數(shù)對(duì)應(yīng)的值要更改,可以在做的系統(tǒng)參數(shù)那個(gè)頁(yè)面去增刪改。
總結(jié)
以上是生活随笔為你收集整理的java 初始化系统参数_系统中参数的初始化 参数在系统中配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “闲中得诗境”下一句是什么
- 下一篇: java easyui tree例子_E