昨天看serviceMix看到了使用的个性化扩展,感觉扩展非常爽,spring作为一个完全开源的工程,扩展的思路非常简洁,好了,入正题吧。
1、首先告诉spring我们扩展了,采用META-INF目录下存在二个文件来告诉他,一个是spring.schemas,一个是spring.handlers。spring.shcmeas告诉spring在什么位置可以找到schema文件,其中key就是在spring配置文件中的命名空间的值。spring.handlers告诉spring扩展handler才用得那个标签类。在spring的jar中本身就存在这个文件,他会合并自己扩展的这个文件。
比如,serviceMix在spring.schemas中作如下配置
http\://servicemix.apache.org/config/1.0=servicemix.xsd
在spring.handlers中如下配置:
http\://servicemix.apache.org/config/1.0=org.apache.xbean.spring.context.v2.XBeanNamespaceHandler
2、这样通过配置,可以读取到相应的属性处理器
3、在spring的配置文件中配置个性的配置属性
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:audit="http://servicemix.apache.org/audit/1.0">
<!-- the JBI container -->
<sm:container id="jbi"
rootDir="./data/smx"
MBeanServer="#jmxServer"
installationDirPath="./hotdeploy"
monitorDeploymentDirectory="false"
monitorInterval="1"
transactionManager="#transactionManager"
createJmxConnector="false"
depends-on="jndi">
这样,在执行的时候读取到个性配置,首先会从1种读取配置信息的位置,然后通过2进行处理,非常简洁的处理思路。
在上面servermix中使用了xbean-spring.jar中的一个扩展机制,配置spring.handlers中配置了一个XBeanNamespaceHandler,在运行的过程中会读取META-INF\services\org\apache\xbean\spring\http\servicemix.apache.org\config\1.0(根据URI配置的路径信息)配置文件,配置了相应的处理类
转换规则如下:
1、以http打头的:
"META-INF/services/org/apache/xbean/spring/").append(uri.replaceAll("://", "/").replace(':', '/').replace(' ', '_')
2、以java:打头的
截取掉java:剩余的内容
分享到:
相关推荐
### SpringCloud共享模式下的个性化商品交易平台设计与实现 #### 平台创新整合 在移动互联网技术的推动下,“共享经济”已经成为一种趋势。共享模式下的个性化商品交易平台旨在满足用户多样化的需求,通过有效的...
- **个性化定制**:允许用户根据需求选择安装或卸载特定插件。 - **多团队协作**:不同团队可以独立开发和维护自己的插件,提高开发效率。 总之,SpringBoot插件式开发框架通过插件化的思想,实现了系统的动态...
综上所述,“个性化定制系统”是一个结合了Ajax、Hibernate和Spring技术的Web应用程序。Ajax提升了用户体验,使得数据交互更加流畅;Hibernate简化了数据库操作,确保了数据的持久化;而Spring作为整体框架,为系统...
### SpringBoot+SpringMVC+Mybatis+SpringCloud 实现个性化推荐的在线学习系统 #### 关键技术解析 ##### SpringBoot框架 - **定义与特点**:SpringBoot是由Pivotal团队提供的全新框架,旨在简化新Spring应用的初始...
系统架构方面,该系统采用了前后端分离的架构,前端使用 Spring+SSM 框架搭建,后端使用个性化推荐算法构建。系统数据库使用了关系型数据库 MySQL 和大数据数据库,用于存储和处理海量的音乐数据。 数据爬取方面,...
个性化定制系统是一个基于Web的应用程序,它利用了Ajax、Hibernate和Spring这三种技术来实现高效、灵活和可扩展的功能。这个系统旨在提供一个用户可以根据个人喜好进行定制的平台,可能是针对产品配置、服务选择或者...
Java个性化定制实现主要涉及到软件开发中的用户需求满足和软件灵活性设计。在Java平台上,我们可以利用其强大的面向对象特性、丰富的类库以及强大的框架来实现高度可定制化的产品。以下是一些关键知识点: 1. **...
X-Admin不仅外观现代,而且易于定制,可以满足不同项目的个性化需求。 搭建后台系统的步骤通常包括以下几个部分: 1. **环境准备**:安装JDK、Maven或Gradle(用于项目构建)、IDE(如IntelliJ IDEA或Eclipse),...
本论文旨在设计一套基于vue和Spring Boot框架的电商个性化推荐系统,以提高工作效率、减轻管理者的压力。该系统的主要内容包括:研究分析当前主流的 web 技术,结合电商日常管理方式,设计电商个性化推荐系统的...
5. **模板扩展**:Spring Assistant允许开发者自定义代码模板,满足个性化需求,使编码风格更加统一。 6. **版本更新提示**:自动检测Spring Boot及相关依赖库的版本更新,提醒开发者保持项目与时俱进。 7. **代码...
这个项目"Java基于SSM(Spring+SpringMVC+MyBatis)个性化点餐配送系统"是一个综合性的Web应用,它展示了如何利用这三个框架来构建一个功能完善的在线订餐与配送服务系统。下面我们将深入探讨SSM框架的核心概念以及...
Spring Security OAuth 个性化token的使用 在Spring Security OAuth...个性化token是 Spring Security OAuth框架中的一种重要机制,用于保护资源服务器的安全,扩展默认的token,包含用户的业务信息,提高系统性能。
本项目是一个基于Spring Boot和Vue的高分毕设项目,旨在打造一个个性化推荐影院系统。该系统结合了现代互联网技术和电影行业的特点,为用户提供精准的电影推荐服务。 在技术架构上,后端采用Spring Boot框架,实现...
随着信息技术的发展,图书馆服务已从传统的图书借阅扩展到电子资源检索、个性化推荐等多个层面。本文将深入探讨基于SSM(Spring、SpringMVC、MyBatis)框架构建的高校图书馆个性化服务系统,旨在提供更高效、更个性...
自定义登陆页面是Spring Security提供的另一个灵活性功能,允许开发者创建个性化的登陆界面以提升用户体验。通过配置过滤器和参数,可以实现对登陆页面的定制化,同时也可以结合自定义登陆页面来动态管理资源。 ...
SSM项目个性化点餐配送系统是一个基于Spring、SpringMVC和MyBatis框架的Java企业级应用,旨在为用户提供一个便捷的在线点餐平台,并配合个性化推荐及高效的配送服务。 以下是关于SSM项目个性化点餐配送系统的详细...
"基于Android的个性化旅游平台的设计" 随着移动互联网的普及和智能手机的普及,基于Android的旅游平台的需求日益增长。个性化旅游平台是指根据用户的个性化需求和喜好,提供个性化的旅游服务和信息的平台。本文将...
首先,Spring Boot允许开发者在应用启动时添加一些个性化信息,这些信息可能包含开发团队的名字、项目标语或者一些有趣的提示。实现启动彩蛋的方式多种多样,例如修改`application.properties`或`application.yml`...
Spring 和 MyBatis 是两个非常重要的 Java 开发框架,它们在构建企业级 Web 应用...但需要注意的是,虽然便捷,但可能无法涵盖所有特定项目的个性化需求,因此在实际开发中,可能还需要根据具体情况进行调整和扩展。
这个标题表明我们讨论的是一个采用SSM(Spring、SpringMVC和MyBatis)架构的个性化商铺系统。SSM是Java Web开发中常用的一种技术栈,它整合了Spring的核心功能、Spring MVC的Web层处理以及MyBatis的数据访问层,为...