㈠ 如何使用多个Spring的xml配置文件
1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applicationContext.xml文件.[html] view plain <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:conf/spring/applicationContext_core*.xml, classpath*:conf/spring/applicationContext_dict*.xml, classpath*:conf/spring/applicationContext_hibernate.xml, classpath*:conf/spring/applicationContext_staff*.xml, classpath*:conf/spring/applicationContext_security.xml classpath*:conf/spring/applicationContext_moles*.xml classpath*:conf/spring/applicationContext_cti*.xml classpath*:conf/spring/applicationContext_apm*.xml </param-value> </context-param> contextConfigLocation 参数定义了要装入的 Spring 配置文件。原理说明如下:、利用ServletContextListener 实现。Spring 提供ServletContextListener 的一个实现类ContextLoaderListener ,该类可以作为listener 使用,它会在创建时自动查找WEB-INF/ 下的applicationContext.xrnl 文件。因此,如果只有一个配置文件,并且文件名为applicationContext.xml ,则只需在web.xml文件中增加如下代码即可:<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>如果有多个配置文件需要载入,则考虑使用<context-para即元素来确定配置文件的文件名。由于ContextLoaderListener加载时,会查找名为contextConfigLocation的参数。因此,配置context-param时参数名字应该是contextConfigLocation。带多个配置文件的web.xml 文件如下:[html] view plain <1– XML 文件的文件头二〉 <?xml version="l.O" encoding="工80-8859-1"?> < 1– web.xm1 文件的DTD 等信息一〉 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems. 工口c.//DTD Web Application 2.3//EN" ''http://java.sun.com/dtd/web-app_2_3.dtd''> <web-app> <!一确定多个配置文件> <context-param> <1– 参数名为contextConfigLocation…〉 <param-name>contextConfigLocation</param-name> <!一多个配置文件之间以,隔开二〉 <param-value>/WEB-工NF/Context.xml./WEB-INF/application Context.xml</param-value> </context-param> <!– 采用listener创建Applicat工onContext 实例–> <listener> <listener-class>org.spr工ngframework.web.context.ContextLoader Listener</listener-class> </listener> </web-app> 如果没有contextConfigLocation 指定配置文件,则Spring 自动查找applicationContext. xrnl 配置文件。如果有contextConfigLocation,则利用该参数确定的配置文件。该参数指定的一个字符串, Spring 的ContextLoaderListener 负责将该字符串分解成多个配置文件,逗号","、空格" "及分号";"都可作为字符串的分割符。如果既没有applicationContext. xrnl 文件,也没有使用contextConfigLocation参数确定配置文件,或者contextConfigLocation确定的配置文件不存在。都将导致Spring 无法加载配置文件或无法正常创建ApplicationContext 实例配置一个spring为加载而设置的servlet可以达到同样效果.采用load-on-startup Servlet 实现。Spring 提供了一个特殊的Servllet 类: ContextLoaderServlet。该Servlet 在启动时,会自动查找WEB-IN日下的applicationContext. xml 文件。当然,为了让ContextLoaderServlet 随应用启动而启动,应将此Servlet 配置成load-on-startup 的Servleto load-on-startup 的值小一点比较合适,因为要保证ApplicationContext 优先创建。如果只有一个配置文件,并且文件名为applicationContext. xml ,则在web.xml 文件中增加如下代码即可:<servlet><servlet-name>context</servlet口-arne><servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class><load-on-startup>l</load-o 口-startup></servlet>。带多个配置文件的web且nl 文件如下:[html] view plain <!– XML 文件的文件头–> <?xml version="1.0" encoding="工SO-8859-1"?> <! — web.xml 文件的DTD 等信息→ <!DOCTYPE web-app PUBLIC "-//Sun Microsystems , 工口c.//DTD Web Application 2.3//EN" ''http://java.sun.com/dtd/web-app_2_3.dtd''> <web-app> <'一确定多个配置文件一> <context-param> <!– 参数名为contextConfigLocation–> <param-name>contextConfigLocation</param-name> <!– 多个配置文件之间以,隔开一〉 <param-value>/WEB-工NF/Context.xml, !WEB-工NF/applicationContext. xml</param-value> </context-param> <!一采用load-on-startup Servlet 创建Applicat工onContext 实例一〉 <servlet> <servlet-narne>context</servlet-narne> <servlet-class>org.springframework.web.context.ContextLoader Servlet</servlet-class> <!一下面值小一点比较合适,会优先加载一〉 <load-on-startup>l</load-on-startup> </servlet> </web-app> 2, 使用匹配符<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext*.xml</param-value></context-param>比如说用到Hibernate,则把hibernate相关的配置放在applicationContext-hibernate.xml这一个文件,而一些全局相关的信息则放在applicationContext.xml,其他的配置类似.这样就可以加载了,不必写用空格或是逗号分开! 3, 如果使用struts加载多个spring配置文件.下面这个配置的其实也是contextConfigLocation变量.struts-config.xml里面加这个<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"><set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml,,,,,,,"/>4,如果是非j2ee应用直接程序加载.[java] view plain ApplicationContext act = new (new String[]{"bean1.xml","bean2.xml"}); BeanDefinitionRegistry reg = new DefaultListableBeanFactory(); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(reg); reader.loadBeanDefinitions(new ClassPathResource("bean1.xml")); reader.loadBeanDefinitions(new ClassPathResource("bean2.xml")); BeanFactory bf = (BeanFactory)reg;
㈡ Eclipse下如何配置spring应用
1、在eclipse下建立一个project,此处以demo为例建立项目。
㈢ Spring加载配置文件(org.springframework.beans.factory.BeanDefinitionStoreException)
1、首先手动加载Spring配置文件有两个类,分别是;两个类的区别。
㈣ java中spring框架中的beanConfig.xml配置文件放在哪里呢
这个不是一定的,随你自己的意思,你可以放在WEB-INF里,也可以放在classpath下。只需在配置web.xml时指定位置即可。<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:beans.xml </param-value> </context-param>上面就是web.xml中对spring容器的初始化配置,<context-param>中<param-value>中的classpath:beans.xml 即是spring配置文件beans.xml的位置(classpath下,在myeclipse的工程中是src目录下)
㈤ SpringBoot涓璸om.xml閰嶇疆璇﹁В
Spring Boot涓鐨刾om.xml閰嶇疆娣卞叆瑙f瀽
<project>锛氶」鐩鏍稿績鐨勮捣鐐癸紝鍖呭惈鍏抽敭鍏冪礌濡<dependencies>銆<build>鍜<properties>锛屽畠浠鍏卞悓鏋勫缓椤圭洰鐨勫熀鐭炽 <parent>锛氬紩鍏ョ埗渚濊禆锛屽俿pring-boot-starter-parent锛屽畠涓洪」鐩鎻愪緵渚濊禆绠$悊鍜屾爣鍑嗗寲閰嶇疆銆 <artifactId>锛氶」鐩鐨勭嫭鐗规爣璇嗭紝閬靛惊缁勭粐缁撴瀯鍛藉悕瑙勫垯锛屽傞」鐩鍚嶃佹湇鍔″悕鎴栭氱敤鍚嶏紝闇閬靛惊鐗瑰畾鐨勫懡鍚嶈勮寖銆 <groupId>锛氬畾涔夐」鐩鎵灞炵殑缁勭粐鎴栧洟浣擄紝绫讳技浜嶫ava鍖呭悕鐨勭粨鏋勩
閫氳繃杩欎簺宸у欑殑閰嶇疆锛孲pring Boot椤圭洰寰椾互鑷鍔ㄧ$悊渚濊禆锛岃幏鍙栭勮剧殑閰嶇疆锛岀‘淇濅緷璧栫増鏈鐨勪竴鑷存э紝绠鍖栦簡寮鍙戣繃绋嬨
鍦∕aven鐨勪笘鐣岄噷锛<groupId>灏卞儚鏄椤圭洰鐨勫湴鍧鏍囩撅紝姣斿”com.example.organization”銆係pring Boot椤圭洰閬靛惊涓绉嶆槑纭鐨勫懡鍚嶇害瀹氾紝閫氬父鍖呭惈鍏鍙稿悕鍙嶈浆銆侀」鐩鍚嶃佸姛鑳芥ā鍧楀拰閫氱敤鍚嶇О銆傜増鏈鍙风敱<version>鎸囧畾锛岄伒寰璇涔夊寲鐗堟湰绛栫暐锛屽1.0.0銆
<dependencies>鍏冪礌鏄椤圭洰鍔熻兘瀹炵幇鐨勫叧閿锛岄氳繃缁勫悎鍚鍔ㄥ櫒锛堝俿pring-boot-starter-web鍜宮ybatis-spring-boot-starter锛夋潵鍔犺浇蹇呰佺殑搴撱傚苟闈炴墍鏈変緷璧栭兘浼氱珛鍗崇敓鏁堬紝瀹冧滑鍙鑳藉湪渚濊禆绠$悊涓琚瀹氫箟浣嗕粎鍦ㄩ渶瑕佹椂寮曞叆銆傜増鏈绠$悊鍒欓氳繃缁ф壙spring-boot-dependencies骞朵娇鐢<dependencyManagement>鏉ュ疄鐜帮紝杩欐牱鍙浠ラ泦涓绠$悊鐗堟湰锛岄伩鍏嶅啿绐侊紝骞剁‘淇濇暣涓椤圭洰鐨勫崗璋冩с
<build>鍏冪礌鍒欒礋璐f瀯寤洪厤缃锛屾兜鐩栬祫婧愯繃婊ゃ佹彃浠跺簲鐢ㄥ拰鏋勫缓杩囩▼鐨勬帶鍒躲備緥濡傦紝璧勬簮杩囨护鍦╯rc/main/resources鐩褰曚笅杩涜岋紝鑰孲pring Boot Maven鎻掍欢鍒欑$悊缂栬瘧銆佹墦鍖呭拰璧勬簮绠$悊绛夐噸瑕佹ラゃ
鍒蹇樹簡pom.xml涓鐨勫叾浠栭噸瑕侀儴鍒嗭細
<repositories>锛氱敤浜庨厤缃澶栭儴浠撳簱锛屽係pring Milestones锛https://repo.spring.io/milestone锛夛紝杩欎簺浠撳簱瀛樻斁鎻掍欢鍜屼緷璧栫殑鏈鏂扮増鏈銆 <profiles>锛氱敤浜庡畾涔変笉鍚岀幆澧冧笅鐨勯厤缃锛屽傚紑鍙戙佹祴璇曞拰鐢熶骇锛屾瘡涓猵rofile閮芥湁鑷宸辩壒瀹氱殑灞炴у拰閰嶇疆銆 <pluginRepositories>锛氬瓨鏀炬彃浠朵粨搴撶殑鍒楄〃锛屼互渚块」鐩鍙浠ヨ块棶鍒板繀瑕佺殑鏋勫缓宸ュ叿銆
閰嶇疆Maven鎻掍欢浠撳簱鏃讹紝瑕佺‘淇濋」鐩鑳借块棶鍒癝pring Boot鐩稿叧鐨勬彃浠讹紝鍚屾椂鍖哄埆浜庡瓨鏀句緷璧栫殑浠撳簱銆傞」鐩鐨勬墦鍖呮柟寮忕敱<packaging>瀹氫箟锛屽傞粯璁ょ殑jar銆亀ar鎴杄ar鏍煎紡锛岃屼富鍏ュ彛绫荤殑鍚嶇О鍒欏湪<mainClass>鏍囩句腑鎸囧畾锛岄」鐩涓婚〉鍒欓氳繃<url>鎻愪緵銆
瀵逛簬澶氭ā鍧楅」鐩锛<moles>鍏冪礌鐢ㄤ簬缁勭粐瀛愭ā鍧楋紝浠ユ彁楂樹唬鐮佸嶇敤鍜岄」鐩缁撴瀯鐨勬竻鏅板害銆
鎬昏岃█涔嬶紝Spring Boot鐨刾om.xml閰嶇疆鏄椤圭洰鍒濆嬪寲鍜屾瀯寤虹殑鍩虹锛岄氳繃绮惧績璁剧疆锛岄」鐩鑳介珮鏁堝湴渚濊禆绠$悊鍜屾瀯寤猴紝閫傚簲涓嶅悓鐜澧冪殑闇姹傘
㈥ java Eclipse 编辑 spring的配置文件XML 显示自动导入namespace怎么做到
1.window-》perference-》MyEclipse-》Files and Editors-》XML-》XML Catalog2.选中中间的 User Specificed Entries 点击Add 3.选择 File System 按钮 找到 你从 jar包里面解压出的 .xsd 文件或 .dtd 文件 这里试例为 添加的.xsd 文件key type:选择 Schema lactionkey:在自动生成的路径后面加上你插入的.xsd 文件的版本名称 如:/spring-beans-3.2.xsd4.用的时候是这样:在项目的src下面,点击src左击 NEW-》选中XML(Basic Templates)-》Next5.点击Next6、选择Select XML Catalog entry 找到你刚刚添加的后缀为.xsd文件7.在Root Element 中找到你所用的根元素,如果你想在添加其他的后缀为.xsd文件 选择Add :8.选择Specify New NamespacePrefix:填写标签:这里的例子为contextNamespace Name:填写的是 Location Hint中的 http://www.springframework.org/schema/contextLocation Hint:这里我用的是:http://www.springframework.org/schema/context/spring-context-3.0.xsd9.点击OK -》再点击Finish 就完成了,到这整个添加.xsd文件就完成。 10.注解是找到后缀为.xsd 文件按以上步骤添加进去,编辑xml文件时就自动生成了。
㈦ java调用spring的配置文件applicationContext.xml问题
首先你要明白spring的ApplicationContext是放在tomcat的application里的,所以第一步是取得application,也就是request.getSession().getServletContext()第二步是通过调用spring提供的静态方法取得ApplicationContext,此方法的参数是第一步取得的application如下:WebApplicationContextUtils.(request.getSession().getServletContext());