使用动态路径下的属性文件配置spring数据源的方法

文档序号:6549979
使用动态路径下的属性文件配置spring数据源的方法
【专利摘要】本发明公开了一种配置spring数据源的方法及装置,解决了现有技术在配置spring数据源时需要频繁手动修改属性文件的问题。所述方法包括:判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件;若Java应用服务器中间件的配置文件路径中有jdbc属性文件,则加载所述jdbc属性文件;若Java应用服务器中间件的配置文件路径中没有jdbc属性文件,则判断系统的classpath路径中是否有jdbc属性文件;若系统的classpath路径中有jdbc属性文件,则加载所述jdbc属性文件;若系统的classpath路径中没有jdbc属性文件,则判断应用包的类路径中是否有jdbc属性文件;若应用包的类路径中有jdbc属性文件,则加载所述jdbc属性文件;若应用包的类路径中没有jdbc属性文件,则spring应用部署失败。本发明的实施例适用于配置spring数据源。
【专利说明】使用动态路径下的属性文件配置spr ing数据源的方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种配置spring数据源的方法及装置。
【背景技术】
[0002]Spring是一个轻量级的控制反转(1C)和面向切面(AOP)的开源Java开发框架,它的目标是为J2EE应用提供全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间可以彼此独立,也可以使用其它的框架方案加以代替。
[0003]在使用Spring的Java工程中,设置数据源属性的常规模式是从配置文件中加载数据库设置,而在配置时只能从唯一的应用包中的classpath路径下读取配置文件。这样虽然在开发环境下部署应用时能够顺利加载,但进入测试环境或生产环境时,由于开发环境与测试或生产环境的不同,而导致classpath路径下的配置文件不能直接应用,需要部署人员对开发人员提交的应用包解包,修改属性文件后需要重新打包才能部署。
[0004]而若在测试或生产环境中出现了问题,在部署人员反馈之后,开发人员需要对发回的应用包重新修改属性文件才能复现问题,十分不便。并且频繁的手动修改属性文件在浪费工作量的同时,也增大了出现各种误操作的风险,进一步的浪费大量的排查问题的时间。

【发明内容】

[0005]本发明的目的在于提供一种配置spring数据源的方法及装置,在配置Spring数据源时,能够对配置文件的路径进行动态选择,从而避免人工修改配置文件,节省了工作量,提高了工作效率。
[0006]一方面,本发明提供一种配置spring数据源的方法,包括:
[0007]判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件;
[0008]若Java应用服务器中间件的配置文件路径中有jdbc属性文件,则加载所述jdbc属性文件;
[0009]若Java应用服务器中间件的配置文件路径中没有jdbc属性文件,则判断系统的classpath路径中是否有jdbc属性文件;
[0010]若系统的classpath路径中有jdbc属性文件,则加载所述jdbc属性文件;
[0011]若系统的classpath路径中没有jdbc属性文件,则判断应用包的类路径中是否有jdbc属性文件;
[0012]若应用包的类路径中有jdbc属性文件,则加载所述jdbc属性文件;
[0013]若应用包的类路径中没有jdbc属性文件,则spring应用部署失败。
[0014]进一步的,在所述加载所述jdbc属性文件之后,还包括:验证所加载的jdbc属性文件;若通过验证且spring应用运行正常,则spring应用部署成功;若未通过验证或者通过验证但spring应用运行不正常,则spring应用部署失败。
[0015]进一步的,在所述判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件之前,还包括:在开发环境服务器、测试环境服务器和生产环境服务器上安装Java应用服务器中间件;在测试环境服务器和生产环境服务器的Java应用服务器中间件的配置文件路径中添加jdbc属性文件。
[0016]进一步的,在所述在测试环境服务器和生产环境服务器的Java应用服务器中间件的配置文件路径中添加jdbc属性文件之后,还包括:启动Java应用服务器中间件。
[0017]进一步的,在所述spring应用部署失败之后,还包括:通过Java应用服务器中间件显示异常,提示部署失败信息。
[0018]另一方面,本发明提供一种配置spring数据源的装置,包括:
[0019]第一判断单元,用于判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件;
[0020]加载单元,用于当所述第一判断单元判断Java应用服务器中间件的配置文件路径中有jdbc属性文件时,加载所述jdbc属性文件;
[0021]第二判断单元,用于当所述第一判断单元判断Java应用服务器中间件的配置文件路径中没有jdbc属性文件,判断系统的classpath路径中是否有jdbc属性文件;则所述加载单元,还用于当所述第二判断单元判断系统的classpath路径中有jdbc属性文件时,加载所述jdbc属性文件;
[0022]第三判断单元,用于当所述第二判断单元判断系统的classpath路径中没有jdbc属性文件时,判断应用包的类路径中是否有jdbc属性文件;则所述加载单元,还用于当所述第三判断单元判断应用包的类路径中有jdbc属性文件时,加载所述jdbc属性文件;
[0023]所述第三判断单元判断应用包的类路径中没有jdbc属性文件时,spring应用部署失败。
[0024]进一步的,所述的配置spring数据源的装置,还包括:验证单元,用于验证所加载的jdbc属性文件;若通过验证且spring应用运行正常,则spring应用部署成功;若未通过验证或者通过验证但spring应用运行不正常,则spring应用部署失败。
[0025]进一步的,所述的配置spring数据源的装置,还包括:安装单元,用于在开发环境服务器、测试环境服务器和生产环境服务器上安装Java应用服务器中间件;添加单元,用于在测试环境服务器和生产环境服务器的Java应用服务器中间件的配置文件路径中添加jdbc属性文件。
[0026]进一步的,所述的配置spring数据源的装置,还包括:启动单元,用于启动Java应用服务器中间件。
[0027]进一步的,所述的配置spring数据源的装置,还包括:提示单元,用于通过Java应用服务器中间件显示异常,提示部署失败信息。
[0028]本发明提供的配置spring数据源的方法及装置,在配置Spring数据源时,当Java应用服务器中间件的配置文件路径没有jdbc属性文件时,则从系统的classpath路径中查找是否有jdbc属性文件,当系统的classpath路径中没有jdbc属性文件时,则从应用包的类路径中查找是否有jdbc属性文件,直至查找到jdbc属性文件,并加载所述jdbc属性文件。从而能够对配置文件的路径进行动态选择,避免人工修改配置文件,节省了工作量,提高了工作效率。
[0029]说明书附图[0030]图1为本发明实施例一提供的配置spring数据源的方法流程图;
[0031]图2为本发明实施例二提供的配置spring数据源的方法流程图;
[0032]图3为本发明实施例三提供的配置spring数据源的装置结构示意图;
[0033]图4为本发明实施例三提供的另一种配置spring数据源的装置结构示意图。
【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对配置spring数据源的方法的实现进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]下面通过具体实施例详细说明本发明的一种配置spring数据源的方法。
[0036]实施例一
[0037]在服务器上部署应用时,Java应用服务器中间件调用applicationContext.xml创建数据源,在调用 applicationContext.xml 的同时,applicationContext.xml 会尝试加载jdbc.properties属性文件中的属性值,如图1所示,本发明实施例提供的配置spring数据源的方法,具体包括如下步骤:
[0038]步骤101:判断Java应用服务器中间件的配置文件的config路径中是否有jdbc.properties属性文件,若Java应用服务器中间件的配置文件的config路径中有jdbc.properties属性文件,则执行步骤102 ;若Java应用服务器中间件的配置文件的config路径中没有jdbc.properties属性文件,则执行步骤103 ;
[0039]步骤101所采用的程序代码可概括如下:
[0040]File jdbcResourceFile = new File (System.getProperty ("user, dir"), "config/jdbc.properties");
[0041]步骤102:加载所述jdbc.properties属性文件;
[0042]步骤103:判断系统的classpath路径中是否有jdbc.properties属性文件,若系统的classpath路径中有jdbc.properties属性文件,则执行步骤104 ;若系统的classpath路径中没有jdbc属性文件,则执行步骤105 ;
[0043]步骤103所采用的程序代码可概括如下:
[0044]
i f (!jdbcKesourcePiIe.existsO ) {
jflbcRe.soiircein I e = new Fi 丨 c(Syst+em.getFVopcrtydlasspatl,),
Λ-.,1,.tf\
jdbc, properties );
I
[0045]步骤104:加载所述jdbc.properties属性文件;
[0046]步骤105:判断应用包的类路径中是否有jdbc.properties属性文件,若应用包的类路径中有jdbc.properties属性文件,则执行步骤106 ;若系统的classpath路径中没有jdbc属性文件,则转至步骤107 ;
[0047]步骤105所采用的程序代码可概括如下:
[0048]if (j(lhcK<>sourccl;i I c.ex1.sts ()) {
resources = new K('sourrt、[] ( new FileSy.stemRosource(.)dbcResourccl'i Ie) };
} else {
resources = new Resource[] { new ClassPathResourcc("jdbc.properties'AppConfigLoader, class.getClassLoadcr O) };
}
[0049]步骤106:加载所述jdbc.properties属性文件;
[0050]步骤107:spring应用部署失败。
[0051 ] 本发明实施例提供的配置spring数据源的方法,在配置Spring数据源时,当Java应用服务器中间件的配置文件路径没有jdbc属性文件时,则从系统的classpath路径中查找是否有jdbc属性文件,当系统的classpath路径中没有jdbc属性文件时,则从应用包的类路径中查找是否有jdbc属性文件,直至查找到jdbc属性文件,并加载所述jdbc属性文件。本发明实施例能够对配置文件的路径进行动态选择,避免人工修改配置文件,节省了工作量,提高了工作效率。
[0052]实施例二
[0053]如图2所示,本发明实施例中另一种配置spring数据源的方法,包括如下步骤:
[0054]步骤201:在开发环境服务器、测试环境服务器和生产环境服务器上安装Java应用服务器中间件,Java应用服务器中间件的安装运行需要依赖jdkl.6及以上版本。在安装后的Java应用服务器中间件的配置文件路径config路径中添加jdbc属性文件jdbc.properties,编辑属性文件jdbc.properties,配置生产环境数据源所依赖的数据库的所有信息,至少包括jdbc驱动类、jdbc URL、数据库用户名、密码等信息。其格式可以为如下所示:
[0055]jdbc.driverClassName = <driver class name>
[0056]jdbc.url = <jdbc connection string)
[0057]jdbc.username = <db user name>
[0058]jdbc.password = <db password)
[0059]步骤202:从Java应用服务器中间件的bin路径下执行启动脚本,启动Java应用服务器中间件。
[0060]部署应用时,Java应用服务器中间件调用applicationContext.xml创建数据源,并通过applicationContext.xml加载jdbc.properties属性文件中的属性值。
[0061]步骤203:判断Java应用服务器中间件的配置文件的config路径中是否有jdbc.properties属性文件;若Java应用服务器中间件的配置文件的config路径中有jdbc.properties属性文件,则执行步骤204,若Java应用服务器中间件的配置文件的config路径中没有jdbc.properties属性文件,则执行步骤205 ;
[0062]步骤204:加载所述jdbc.properties属性文件,转至步骤210 ;
[0063]步骤205:判断系统的classpath路径中是否有jdbc.properties属性文件;若系统的classpath路径中有jdbc.properties属性文件,则执行步骤206,若系统的classpath路径中没有jdbc属性文件,则执行步骤207 ;
[0064]步骤206:加载所述jdbc.properties属性文件,转至步骤210 ;
[0065]步骤207:判断应用包的类路径中是否有jdbc.properties属性文件;若应用包的类路径中有jdbc.properties属性文件,则执行步骤208,若系统的classpath路径中没有jdbc属性文件,则转至步骤209 ;
[0066]步骤208:加载所述jdbc.properties属性文件,转至步骤210 ;
[0067]步骤209:spring应用部署失败,转至步骤211 ;
[0068]步骤210:验证所加载的jdbc属性文件;若通过验证且spring应用运行正常,贝丨Jspring应用部署成功;若未通过验证或者通过验证但spring应用运行不正常,则spring应用部署失败,转至步骤211 ;
[0069]步骤211:通过Java应用服务器中间件显示异常,提示部署失败信息。
[0070]一般的,在开发环境服务器中,Java应用服务器中间件的配置文件的config路径中和系统的classpass路径中都不包括jdbc.properties属性文件,因此在开发环境服务器中通过本实施例即可在于应用包的类路径下的jdbc.properties属性文件。而在测试环境服务器和生产环境服务器中,jdbc.properties属性文件一般均已经根据服务器自身的属性进行了配置并存放于Java应用服务器中间件的配置文件的config路径中或系统的classpass路径中,因此可以省去对应用包的类路径下的jdbc.properties属性文件进行修改的工作流程,直接进行加载。
[0071]本发明实施例提供的配置spring数据源的方法,在开发环境服务器、测试环境服务器和生产环境服务器中,其各自的jdbc.properties属性文件均根据各自的服务器调整配置,在配置Spring数据源时,当Java应用服务器中间件的配置文件路径没有jdbc属性文件时,则从系统的classpath路径中查找是否有jdbc属性文件,当系统的classpath路径中没有jdbc属性文件时,则从应用包的类路径中查找是否有jdbc属性文件,直至查找到jdbc属性文件,并加载所述jdbc属性文件。因此,本发明实施例在开发环境、测试环境和生产环境中加载jdbc.properties的过程里不需要人工修改配置文件,能够对配置文件的路径进行动态选择,避免人工修改配置文件,节省了生产环境中部署应用的工作量,提高了工作效率;并进而节约了当测试或生产环境中出现了问题时,开发人员分析现场应用异常的工作量;并且避免了频繁的手动修改属性文件时出现各种误操作的风险,提高应用上线和问题解决的效率;并且通过对加载文件的验证,进一步的保证了加载的可靠性。
[0072]下面通过具体实施例详细说明本发明的一种配置spring数据源的装置。
[0073]实施例三
[0074]如图3所示,本发明的一种配置spring数据源的装置包括:第一判断单元31、力口载单元32、第二判断单元33和第三判断单元34。
[0075]其中所述第一判断单元31,用于判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件;
[0076]所述加载单元32,用于当所述第一判断单元31判断Java应用服务器中间件的配置文件路径中有jdbc属性文件时,加载所述jdbc属性文件;
[0077]所述第二判断单元33,用于当所述第一判断单元31判断Java应用服务器中间件的配置文件路径中没有jdbc属性文件,判断系统的classpath路径中是否有jdbc属性文件;则所述加载单元32,还用于当所述第二判断单元33判断系统的classpath路径中有jdbc属性文件时,加载所述jdbc属性文件;
[0078]所述第三判断单元34,用于当所述第二判断单元33判断系统的classpath路径中没有jdbc属性文件时,判断应用包的类路径中是否有jdbc属性文件;则所述加载单元32,还用于当所述第三判断单元34判断应用包的类路径中有jdbc属性文件时,加载所述jdbc属性文件;
[0079]所述第三判断单元34判断应用包的类路径中没有jdbc属性文件时,spring应用部署失败。
[0080]进一步的,如图4所示,所述配置spring数据源的装置,还包括:验证单元35,用于验证所加载的jdbc属性文件;若通过验证且spring应用运行正常,则spring应用部署成功;若未通过验证或者通过验证但spring应用运行不正常,则spring应用部署失败。
[0081]进一步的,如图4所示,所述配置spring数据源的装置,还包括:
[0082]安装单元36,用于在开发环境服务器、测试环境服务器和生产环境服务器上安装Java应用服务器中间件;
[0083]添加单元37,用于在测试环境服务器和生产环境服务器的Java应用服务器中间件的配置文件路径中添加jdbc属性文件。
[0084]进一步的,如图4所示,所述配置spring数据源的装置,还包括:
[0085]启动单元38,用于启动Java应用服务器中间件。
[0086]进一步的,如图4所示,所述配置spring数据源的装置,还包括:提示单元39,用于通过Java应用服务器中间件显示异常,提示部署失败信息。
[0087]本发明实施例提供的配置spring数据源的装置,在配置Spring数据源时,当Java应用服务器中间件的配置文件路径没有jdbc属性文件时,则从系统的classpath路径中查找是否有jdbc属性文件,当系统的classpath路径中没有jdbc属性文件时,则从应用包的类路径中查找是否有jdbc属性文件,直至查找到jdbc属性文件,并加载所述jdbc属性文件。从而能够对配置文件的路径进行动态选择,避免人工修改配置文件,节省了工作量,提高了工作效率。
[0088]最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。
【权利要求】
1.一种配置spring数据源的方法,其特征在于,包括: 判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件; 若Java应用服务器中间件的配置文件路径中有jdbc属性文件,则加载所述jdbc属性文件; 若Java应用服务器中间件的配置文件路径中没有jdbc属性文件,则判断系统的classpath路径中是否有jdbc属性文件; 若系统的classpath路径中有jdbc属性文件,则加载所述jdbc属性文件; 若系统的classpath路径中没有jdbc属性文件,则判断应用包的类路径中是否有jdbc属性文件; 若应用包的类路径中有jdbc属性文件,则加载所述jdbc属性文件; 若应用包的类路径中没有jdbc属性文件,则spring应用部署失败。
2.根据权利要求1所述的配置spring数据源的方法,其特征在于,在所述加载所述jdbc属性文件之后,还包括: 验证所加载的jdbc属性 文件; 若通过验证且spring应用运行正常,则spring应用部署成功; 若未通过验证或者通过验证但spring应用运行不正常,则spring应用部署失败。
3.根据权利要求1或2所述的配置spring数据源的方法,其特征在于,在所述判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件之前,还包括: 在开发环境服务器、测试环境服务器和生产环境服务器上安装Java应用服务器中间件; 在测试环境服务器和生产环境服务器的Java应用服务器中间件的配置文件路径中添加jdbc属性文件。
4.根据权利要求3所述的配置spring数据源的方法,其特征在于,在所述在测试环境服务器和生产环境服务器的Java应用服务器中间件的配置文件路径中添加jdbc属性文件之后,还包括: 启动Java应用服务器中间件。
5.根据权利要求1或2所述的配置spring数据源的方法,其特征在于,在所述spring应用部署失败之后,还包括: 通过Java应用服务器中间件显示异常,提示部署失败信息。
6.一种配置spring数据源的装置,其特征在于,包括: 第一判断单元,用于判断Java应用服务器中间件的配置文件路径中是否有jdbc属性文件; 加载单元,用于当所述第一判断单元判断Java应用服务器中间件的配置文件路径中有jdbc属性文件时,加载所述jdbc属性文件; 第二判断单元,用于当所述第一判断单元判断Java应用服务器中间件的配置文件路径中没有jdbc属性文件,判断系统的classpath路径中是否有jdbc属性文件;则所述加载单元,还用于当所述第二判断单元判断系统的classpath路径中有jdbc属性文件时,加载所述jdbc属性文件; 第三判断单元,用于当所述第二判断单元判断系统的classpath路径中没有jdbc属性文件时,判断应用包的类路径中是否有jdbc属性文件;则所述加载单元,还用于当所述第三判断单元判断应用包的类路径中有jdbc属性文件时,加载所述jdbc属性文件; 所述第三判断单元判断应用包的类路径中没有jdbc属性文件时,spring应用部署失败。
7.根据权利要求6所述的配置spring数据源的装置,其特征在于,还包括: 验证单元,用于验证所加载的jdbc属性文件;若通过验证且spring应用运行正常,贝Uspring应用部署成功;若未通过验证或者通过验证但spring应用运行不正常,则spring应用部署失败。
8.根据权利要求6或7所述的配置spring数据源的装置,其特征在于,还包括: 安装单元,用于在开发环境服务器、测试环境服务器和生产环境服务器上安装Java应用服务器中间件; 添加单元,用于在测试环境服务器和生产环境服务器的Java应用服务器中间件的配置文件路径中添加jdbc属性文件。
9.根据权利要求8所述的配置spring数据源的装置,其特征在于,还包括: 启动单元,用于启动Java应用服务器中间件。
10.根据权利要求6或7所述的配置spring数据源的装置,其特征在于,还包括: 提示单元,用于通过Java应用服务器中间件显示异常,提示部署失败信息。
【文档编号】G06F9/44GK104021000SQ201410271505
【公开日】2014年9月3日 申请日期:2014年6月17日 优先权日:2014年6月17日
【发明者】宋明明, 车帅, 刘民, 温尚卓, 高隆林 申请人:山东中创软件工程股份有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1