SpringX 1.2.0 released!
SpringX on Google Code
springx-1.2.0-all.zip
Framework Aim:
* Eliminate business bean XML config.
* Eliminate business bean Java annotation.
* Easier than <context:component-scan/>, because of no annotation need.
* Integrate legacy application written in Java without any new development.
Feature List:
* . Dinamyical Bean Register and autowire; (v1.0.0)
* . Strong type bean creation;
* . Compatible with spring standard usage;
* . Interface Injection, wildcard surrport. (v1.1.1)
* . Supporting delegate to existing applicationContext. (v1.2.0)
* . Much simpler AutoProxyCreator? config bean for AOP.
Change log
1. 更改了 1.1 版之前一个不合理设计。
1.1.x 及之前的版本 只能使用 static 方法BeanFactory.createBean , 因为原来考虑只读取默认的一个 applicationContext.xml 文件;
现很多项目需要读取多个配置文件,或者现有系统已经有 spring applicationContext 实例封装,需要进行无缝集成。新的 BeanFactory 可以使用如下方式委托到一个已存在的 context:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext( "applicationContext.xml" );
BeanFactory beanFactory = BeanFactory.wrapApplicationContext( applicationContext );
OrderService orderService = (OrderService) beanFactory.createBean(OrderService.class);
2. 简化 AOP AutoProxyCreator 配置
增加了一个 SimpleNameMatchAutoProxyCreator.
Spring 官方 2.x 版, 需要使用 org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator, org.springframework.aop.support.NameMatchMethodPointcutAdvisor 两个类才能完成对className + methodName 的AOP 拦截配置, 例如: 以下配置对 *Service类的 create* 等方法使用 log AOP 通知器。
<bean id="logMethodPointcutAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="mappedNames">
<list>
<value>create*</value>
<value>delete*</value>
</list>
</property>
<property name="advice">
<ref local="logAdvisor" />
</property>
</bean>
<bean id="BOAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="proxyTargetClass" value="true"></property>
<property name="beanNames">
<list>
<value>*Service</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>logMethodPointcutAdvisor</value>
</list>
</property>
</bean>
SpringX 中配置更为简单, 一个配置即能完成 className + methodName 的AOP 拦截配置:
<bean id="ServiceSimpleNameMatchAutoProxyCreator" class="org.bamboo.springx.aop.autoproxy.SimpleNameMatchAutoProxyCreator" >
<property name="proxyTargetClass" value="true"></property>
<property name="beanNameAndMethodNames">
<list>
<value>*Service,delete*</value>
<value>*Service,find*</value>
<value>*Service,create*</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>logAdvisor</value>
</list>
</property>
</bean>
分享到:
相关推荐
SpringX SpringX是一个Android库,允许开发人员轻松使用 。 演示版 设置 将jcenter存储库包含到根build.gradle文件中: repositories { jcenter() } 然后将依赖项添加到模块build.gradle : dependencies { ...
在SpringX项目中,"Spring注解"是重点讨论的主题。本文将深入探讨Spring框架中的注解及其在实际开发中的应用。 1. **Spring核心注解** - `@Component`:这是所有Spring组件注解的基础,用于标记一个类为Spring管理...
一、ERA5数据下载,deepseek提问全图
UE5 MQTT通信插件
【vue】基于 Vue3 + Element Plus 实现,支持 RBAC 动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城、CRM 等功能_pgj
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
该项目为基于C#语言的智能诊断交付系统插件设计源码,总计包含122个文件,涉及多种类型,包括70个元数据文件、26个C#源代码文件、6个预制体文件、5个材质文件、3个着色器文件、3个Unity脚本文件、2个汇编定义文件、1个Cginc文件、1个Markdown文件、1个光照文件。该系统专注于智能诊断交付,旨在提升诊断交付的效率和准确性。
内容概要:本文探讨了一个经典的数组操作问题——在一个已经排序的数组中去除多余的重复元素,确保每个元素最多出现两次。该问题要求算法在原地执行(不引入新的数据结构),并且仅消耗O(1)的额外存储空间。文中详细展示了问题的要求与挑战,给出具体的示例帮助理解,并明确指出了解题思路和预期效果。 适用人群:面向有一定编程经验的学习者或者初涉Python开发的语言爱好者,尤其是对算法有兴趣的人群。 使用场景及目标:适用于那些希望提升自己数据处理技巧,特别是有关列表、数组的操作技能的人。该方法可以在内存有限的情况下进行高效的去重处理,比如嵌入式系统或者大规模数据分析环境。 其他说明:该算法主要运用双指针(快慢指针)的方法,在遍历数组的同时实现对原始数据的部分覆盖来达到减少重复项目的目的,同时也提醒使用者注意'引用'特性可能引起的潜在误解。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
深海沉积物岩心GeoB17603-2的文档记录 内容 该文献由Lucchi RG、Sabbatini A、Nicolaisen LS等人于2014年发布,主要描述了深海沉积物岩心GeoB17603-2的相关信息。具体内容涉及岩心的采集情况及其详细特征等。读者可通过访问"此链接" ()获取更多关于该数据集的信息。遗憾的是,目前尚未提供该数据集的具体大小。
本项目为Node.js学习资源集,包含41个文件,涵盖26个JavaScript文件、4个HTML文件、3个JSON文件、3个文本文件、2个Markdown文件、1个Git忽略文件、1个PNG图像文件、1个TypeScript文件。内容丰富,涉及Node.js学习的各个方面,旨在帮助开发者掌握相关技能。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
本项目是一个基于Vue框架和JavaScript的前端样式设计源码,专注于实现图片对比效果,通过input range控件实现风格切换。该项目包含87个文件,其中SVG文件48个,JavaScript文件16个,Vue文件8个,JPG图片文件5个,JSON文件3个,开发配置文件1个,生产配置文件1个,Git忽略文件1个,Markdown文件1个,HTML文件1个。项目适用于需要展示和比较不同图片风格的场景。
MAX30102心率血样传感器原理图
资源名称:Python—Excel选表头列key-value-转json文件 类型:windows—exe可执行工具 环境:Windows10或以上系统 功能: 1. 点击按钮【选择文件】:选择一个Exel文件(默认第一行为表头) 2. 点击选择key列(可多选-多个中间用“=”隔开) 3. 点击选择value列(可多选-多个中间用“=”隔开) 4. 点击按钮【选择文件】:保存路径 5. 点击按钮【转换并保存】:保存路径 优点: 1、非常快的速度! 2、已打包—双击即用!无需安装! 3、自带GUI界面方便使用!
该项目是一个个人作品集设计源码,采用HTML、JavaScript和CSS技术构建,包含50个文件,其中包括12个HTML文件、10个JavaScript文件、9个JPG图片文件、6个PNG图片文件、4个CSS样式表文件、3个SVG矢量图形文件、以及各种字体文件,如EOT、TTF、WOFF和WOFF2等。该作品集旨在展示个人设计作品,适合个人网站或在线展示使用。
该项目是一款基于C语言核心开发,并融合HTML、CSS、Python等多语言技术的智能仓储安防控制系统源码。项目包含360个文件,其中225个为头文件(.h),32个为C语言源文件(.c),27个为压缩文件(.gz),8个为共享库文件(.so),7个为静态库文件(.a),6个为配置文件(.1, .pc, .cmake)和3个XML文件(.xml)。该系统旨在提供智能化的仓储安防解决方案。
鱼码grant.dll是一个简单易用的标准DLL,让软件开发者快速为自己软件加上注册码,支持在线和离线授权,实现商用授权许可。鱼码可以让开发者快速为自己软件加上软件升级功能 软件托管,0成本搭建平台,在线销售自己软件,管理授权码。 dll使用说明可进入演示地址进行查看。 安装: 1、下载dll注册成开发者 2、调用dll里check_grant函数 3、会员中心管理自己授权码发放或过期、删除等操作 软件有vb、vb.net、vc、vc.net、易语言和Delphi示例,压缩包中的为vb.net的,如果需要其他版本的demo请到官网进行下载。
乡村小道图像分割系统:智能化检测