`
raymond2006k
  • 浏览: 296636 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SpringX 1.2.0 released!

阅读更多
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> 
1
0
分享到:
评论

相关推荐

    SpringX:SpringX是一个Android库,允许开发人员轻松使用SpringAnimation

    SpringX SpringX是一个Android库,允许开发人员轻松使用 。 演示版 设置 将jcenter存储库包含到根build.gradle文件中: repositories { jcenter() } 然后将依赖项添加到模块build.gradle : dependencies { ...

    SpringX:Spring注解

    在SpringX项目中,"Spring注解"是重点讨论的主题。本文将深入探讨Spring框架中的注解及其在实际开发中的应用。 1. **Spring核心注解** - `@Component`:这是所有Spring组件注解的基础,用于标记一个类为Spring管理...

    水泥袋检测系统源码和数据集:改进yolo11-DCNV4.zip

    水泥袋检测系统源码和数据集:改进yolo11-DCNV4

    德克萨斯扑克分析器Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    使用Plotly绘制散点图-柱状图-折线图-三维图-饼状图

    使用Plotly绘制散点图_柱状图_折线图_三维图_饼状图

    金银岛谜题Matlab源代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    光敏电阻接线图

    光敏电阻接线图

    MAX30102心率血样传感器原理图.pdf

    MAX30102心率血样传感器原理图

    测试两个多维分布之间的差异(2-d K-S检验,n-d能量检验)Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    胎儿脑部异常检测系统源码和数据集:改进yolo11-convnextv2.zip

    胎儿脑部异常检测系统源码和数据集:改进yolo11-convnextv2

    MATLAB版本的经典游戏,俄罗斯方块.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    基于Kotlin语言的安卓Camera2拍照录像设计源码

    本项目为基于Kotlin语言的安卓Camera2拍照录像设计源码,总计包含48个文件,涵盖17个XML配置文件、10个WEBP图片文件、5个Kotlin源代码文件、3个Git忽略文件、3个Gradle配置文件、2个Markdown文档、2个属性文件、1个Gradle脚本文件、1个APK安装包以及1个JSON文件。该源码适用于实现安卓设备的拍照和录像功能。

    【C#】设计模式大作业_pgj.zip

    【C#】设计模式大作业_pgj

    基于ruoyi框架的校园后勤Vue前端设计源码

    本项目是一款基于ruoyi框架开发的校园后勤Vue前端设计源码,包含358个文件,涵盖122个Vue组件、93个SVG图标、87个JavaScript脚本、25个PNG图片、10个SCSS样式表、3个批处理脚本、3个JPG图片、2个HTML页面、2个JSON配置文件、2个备份文件。该代码适用于校园后勤管理系统,旨在提升校园后勤服务效率。

    基于Spring Boot框架的校园外卖点餐系统设计源码

    该项目是基于Spring Boot框架的校园外卖点餐系统设计源码,包含162个文件,包括142个Java源文件、16个XML配置文件、2个YML配置文件、1个Git忽略文件和1个XLSX文件。系统采用前后端分离架构,结合Mybatis、Spring Cache、阿里云OSS、Swagger、POI和WebSocket等技术,支持菜品、套餐、订单管理、支付、报表统计及用户催单等功能。系统分为后台管理端和用户端,用户端通过微信小程序实现。我的主要工作包括管理端员工及菜品信息的增删改查功能。

    基于QT框架的OpenCV人脸识别.zip

    基于QT框架的OpenCV人脸识别

    使用赫斯顿模型和条件蒙特卡洛方法计算欧洲看涨期权价格Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    图像处理新思路:微生物菌落图像分割.zip

    图像处理新思路:微生物菌落图像分割

    基于Python核心的跨语言智能补全插件YouCompleteMe设计源码

    该项目是一款基于Python核心的跨语言智能补全插件YouCompleteMe的设计源码,包含131个文件,涵盖57个Python文件、23个Vim配置文件、6个Markdown文件、5个C/C++源文件、3个YAML配置文件、3个文本文件以及少量其他类型的文件。该插件支持Python、C++、Shell、C等多种编程语言,旨在为开发者提供高效的代码补全功能。

    数据集 + 英国MIDNORCO沉积物岩性数据集

    英国MIDNORCO沉积物岩性数据集 内容: Fyfe, RM (2014) 发布的数据集详细记录了位于英国的MIDNORCO沉积物岩心的岩性特征。此数据集共包含12个数据点,提供了关于该地区地质结构的重要信息。通过访问以下链接可获取完整数据集:"" ()。这些数据对于研究古环境变化、地质年代测定以及了解地球历史具有重要意义。

Global site tag (gtag.js) - Google Analytics