下过雪的学校看起来就是不一样~~特别是像我这样起得很早的人...宽阔的路上熙熙攘攘的几个人,远处雪白的美景一览无余,怎么说呢,真希望时间永远停留在那一刹那。扯远了......还是喜欢早上写BOLG的感觉。
开发的系统因为使用了Spring2.0,所以涉及到了多配置文件的问题,虽然对我个人开发没有多大的帮助,但是团体开发却少不了这个东西。
下面就来讲讲我所涉及到的多配置文件
1. 普通: 因为是Web Protect 而且是自下而上开发,所以没有界面可以测试,只能自己开个Main Class测试, 这回它就成了一个普通的Java Protect, 如何导入多XML,我看了Spring2.0的API, 发现 ApplicationContext的构造函数居然有N个,除却最基本的单XML导入,还看到了一种导入数组的形式。 哈, 马上试试。发现居然成功了:
String[] configLocations = {"applicationContext-main.xml","applicationContext-hibernate.xml"};
ApplicationContext context = new ClassPathXmlApplicationContext(configLocations);
2. Web: 如果在Web上整合, 那么只需配置Web.xml,,如:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
其中 applicationContext-*.xml 是一种通配符的形式, 你也可以写完整的.....
3. 在网上查了一下,发现还有几种形式, 但是比较之下发现并不实用:
把几个配置文件写在一个配置文件里,如:
<beans>
<bean id="default" class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
<value>applicationContext.xml</value>
<value>applicationContext-business.xml</value>
<value>applicationContext-scheduler.xml</value>
</list>
</constructor-arg>
</bean>
</beans>
然后在web.xml文件中,使用自己定义一个ContextLoaderServlet来启动,这个ContextLoaderServlet 可以继承HttpServlet,然后在它的init()方法里取得BeanFactory,代码如下:
public class ContextLoaderServlet extends HttpServlet {
public ContextLoaderServlet()
{
}
public void init() throws ServletException
{
//这个参数里的名字就是我们在BeanRefFactory.xml里定义的bean的名字。
DefaultBeanFactory.getFactory("default");
}
public void destroy()
{
}
}
然后定义一个DefaultBeanFactory类:
public class DefaultBeanFactory {
protected static final BeanFactory getFactory(String s)
{
BeanFactoryLocator beanfactorylocator =SingletonBeanFactoryLocator.getInstance();
BeanFactoryReference beanfactoryreference = beanfactorylocator.useBeanFactory(s);
return beanfactoryreference.getFactory();
}
}
最后在web.xml文件中配置如下:
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>com.lixh.web.servlet.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
这种方式改动较多,也比较麻烦,但是可以根据自己的需要随机加载信息。
分享到:
相关推荐
《MyLibrary-master.zip》是一个专为初学者设计的图书馆管理系统,它涵盖了登录、注册、图书借阅与归还以及常见的数据操作等基本功能。这个项目使用了SSM(Spring、SpringMVC、MyBatis)框架,这是一个在Java开发中...
综上所述,MYLIBRARY图书管理系统通过Spring Boot和Mybatis的结合,构建了一个强大且易用的图书管理平台,涵盖了用户管理、图书管理、借阅操作、查询功能以及安全控制等多个方面。此外,其设计考虑到了系统的可扩展...
随着科技的进步,mylibrary系统未来可能引入更多创新功能,如基于大数据的个性化推荐、移动应用支持、电子阅读资源的整合等,以适应现代图书馆的发展需求。 总的来说,《图书综合管理系统-mylibrary》是一个综合性...
MYLIBRARY图书管理系统 是基于Spring Boot + Mybatis 开发的图书管理系统, 系统具有用户管理、角色管理、应用管理、图书分类管理、图书信息管理、借书管理、还书管理、图书检索、借还记录等功能。 后端 基础框架:...
XBMC.MyLibrary-1.3.1.zip 是一个专为XBMC(Xbox Media Center,后更名为Kodi)设计的扩展工具,版本号为1.3.1。这个工具的主要功能是增强用户的媒体库体验,使得用户能够在XBMC平台上浏览和访问更多的电影资源。它...
而“我的图书馆(MyLibrary)”是一款专为Android平台设计的应用,它允许用户轻松地读取XML文件来获取图书信息,并且提供了个性化的功能,如添加和修改个人信息,以及查找本地的图书信息。本文将深入解析这款应用的...
MyLibrary引入了注解处理器,允许开发者通过在XML布局文件对应的Activity或Fragment中使用注解,直接将UI元素与Java代码中的变量关联,并自动设置点击事件。例如,只需在字段上添加`@BindView(R.id.my_view)`注解,...
STM32F103C8T6是意法半导体(STMicroelectronics)生产的一款基于ARM Cortex-M3内核的微控制器,广泛应用于各种嵌入式系统设计中。这款芯片具有丰富的外设接口和高性能计算能力,适用于工业控制、物联网设备、智能...
文件下载,多线程下载。断点下载等简单封装的aar包
重点:所有项目都有sql文件,比其他博主项目要严谨一万倍所有项目本人亲自测试可运行使用!!有任何问题私我解决! 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私...
"MyLibrary-master"这个文件名可能指的是项目源代码或主版本。对于开发者来说,这意味着可以深入研究其内部机制,根据自己的需求进行定制和扩展。例如,如果希望增加对特定文件格式的支持,或者集成其他功能,如笔记...
"mylibrary_master.zip" 是一个包含Qt图书管理系统的源代码压缩包,主要使用C++语言编写,适合初学者学习Qt GUI(图形用户界面)和线程系统的基础应用。这个项目可能是一个简易的个人图书馆管理系统,用于管理和跟踪...
出现这个问题的原因通常是因为在WPF项目中删除了默认生成的App.xaml文件,或者更改了其BuildAction设置。 ##### 2. 解决方案 - **恢复App.xaml的BuildAction设置**: - 找到App.xaml文件,在其上点击右键选择...
Python-XAR 是一款用于Python开发的打包工具,它允许开发者将多个文件整合成一个独立的可执行文件。这个特性在软件发布和部署时非常有用,因为它简化了分发过程,使得用户无需安装额外的依赖就能运行程序。XAR 的...
管理员登录图书管理软件系统可以进行读者管理、书籍管理、借阅情况查询分析。读者管理包括读者基本信息的添加、删除、修改以及根据读者编号和姓名查询读者信息,书籍管理包括书籍基本信息的添加、删除、修改以及根据...
【图书管理系统】是一个基于SSH(Struts2、Hibernate和Spring)框架开发的应用示例,它展示了如何在实际项目中整合这三个技术。SSH是Java Web开发中的一个流行组合,提供了模型-视图-控制器(MVC)的设计模式,帮助...
### ASP.NET 2.0 页面指令详解 在ASP.NET开发中,页面指令是开发者非常熟悉的概念之一。这些指令主要用于向ASP.NET引擎提供有关如何处理页面的信息。本文将详细介绍几种常用的页面指令及其用法。 #### @Page @Page...
【压缩包子文件的文件名称列表】: MyLibrary-main 在项目结构中,`MyLibrary-main`很可能包含了项目的主模块或主源代码目录。这个目录通常会包含以下几个部分: 1. **src/main/kotlin**:Kotlin源代码文件存放于此...