`
- 浏览:
291067 次
- 性别:
- 来自:
南京
-
转载:spring 中加载xml配置文件的几种方法
原文地址:
http://noobjava.iteye.com/blog/976472
-
- 一:Spring中的几种容器都支持使用xml装配bean,包括:
- XmlBeanFactory ,
- ClassPathXmlApplicationContext ,
- FileSystemXmlApplicationContext ,
- XmlWebApplicationContext
- 加载这些容器的配置文件的xml有一下几种常见的方法:
- 1:引用资源用XmlBeanFactory(不能实现多个文件相互引用)
-
- Resource resource = new ClassPathResource("appcontext.xml");
- BeanFactory factory = new XmlBeanFactory(resource);
-
-
- 从factory中获取相应资源文件中的bean,但是这种bean读不到引用了其他文件中的bean!
- 2:引用应用上下文用ClassPathXmlApplicationContext
-
- ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
- ApplicationContext factory=new ClassPathXmlApplicationContext("conf/userConfig.xml"); // src/conf 目录下的
- ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");
-
-
- 3:用文件系统的路径引用应用上下文用FileSystemXmlApplicationContext
-
- ApplicationContext factory=new FileSystemXmlApplicationContext("src/applicationContext.xml");
- ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");
- ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");
- ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");
-
-
- 注意:在2、3的加载方式中可以加载多个配置文件,获取到ApplicationContext 对象中
-
- String[] configs = {"applicationContext.xml","user_spring.xml"};
- ApplicationContext ctx = new ClassPathXmlApplicationContext(configs);
- //ApplicationContext ctx=new FileSystemXmlApplicationContext(configs);
- AbstractDao myUserDAO = (AbstractDao) ctx.getBean("userDao");
-
-
- 4:Web工程定制的加载方法 XmlWebApplicationContext
-
- ServletContext servletContext = request.getSession().getServletContext();
- ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );
-
-
-
- 注:web.xml里面可以定义两种参数:
- 1、application范围内的参数,存放在servletcontext中。<context-param>中的参数(可以指定多个文件)
- 2、servlet范围内的参数,只能在servlet的init()方法中取得, <init-param>中的参数,在init方法中用this.getInitParameter("param1")获取
-
-
- 二:要是spring配置多个xml,并且这些文件相互应用的加载方式
- 1:在web.xml配置,应用服务去加载
-
-
- <servlet>
- <servlet-name>app</servlet-name>
- <servlet-class>
- org.springframework.web.servlet.DispatcherServlet
- </servlet-class>
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext*.xml,/WEB-INF/user_spring*.xml</param-value>
- </context-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
-
- 2:在/WEB-INF/applicationContext.xml配置应用服务去加载
- 可以在applicationContext.xml中用import引入其他的配置文件
-
- <import resource="user_spring.xml" />
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...
SPI 机制(Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制), 很多地方有用到: AOP Spring的AOP的底层实现原理; 为什么jdk动态代理是必须是接口 两种动态代理的区别 AOP实现方式:...
3)配置加载配置文件的读取,开启注解 4)配置日志文件 … n) 配置完成之后部署 tomcat 调试 可能你还需要考虑各个版本的兼容性,jar 包冲突的各种可行性。 那么使用 Spring Boot 之后我们需要开发一个 web ...
3)配置加载配置文件的读取,开启注解 4)配置日志文件 … n) 配置完成之后部署 tomcat 调试 可能你还需要考虑各个版本的兼容性,jar 包冲突的各种可行性。 那么使用 Spring Boot 之后我们需要开发一个 web ...
从中我们可以看出,我们实现了一个IocInCSharp.ConfigHandler类,用来处理配置文件中IocInCSharp\ objects结点中的内容。ConfigHandler类将根据该结点下的内容处理并创建一ConfigInfo对象(关于ConfigInfo、 ...
由于Spring通过代理Hibernate完成数据层的操作,所以原Hibernate的配置文件hibernate.cfg.xml的信息也转移到Spring的配置文件中: 代码 4 Spring中有关Hibernate的配置信息 1. 2. !-- 数据源的配置 //--> 3. ...
多线程几种实现方法,同步? 答:多线程有两种实现方法,一种是继承Thread类或者实现Runnable接口。同步就是在方法返回类型后面加上synchronized。 c#中的委托,事件是不是委托? 答:委托就是将方法作为一个参数...
70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? 17 72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73...
70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? 17 72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73...
找到jeecms-servlet-front-action.xml,在此配置文件中有 <bean id="dynamicAct" class="com.jeecms.cms.action.front.DynamicPageAct"/> 可以找到类DynamicPageAct,此类是首页模板。 在类DynamicPageAct中有 ...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 47、sleep() 和 wait() 有什么区别? 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 ...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
线程中断/恢复的几种方式 178 创建线程的两种方式 179 线程的控制 180 实例分析 182 内容总结 189 独立实践 190 第十二章:高级I/O流 192 学习目标 192 I/O基础知识 193 字节流 193 字符流 194 节点流 194 过程流 ...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...