`

bboss aop 实践(3)构造函数依赖注入

阅读更多

系列文章的前两篇介绍bboss aop框架的配置文件语法和属性依赖注入功能,本篇介绍bboss aop框架的构造函数依赖注入功能。

bboss-aop-1.0.5,下载地址: https://sourceforge.net/project/showfiles.php?group_id=238653&package_id=290546&release_id=658454

 

构造函数注入业务组件的属性值是bboss aop框架提供的另一种依赖注入的方法,这种方法可以通过以下三种方式注入业务组件的属性:

l         常量方式注入

l         给定属性对应类型名称,由框架实时构建该类型的实例

l         引用已有的其他业务组件

这一节详细介绍这种依赖注入法。

 

准备工作,定义一个带有构造函数的业务组件

l         组件接口

public interface ConstructorInf {

   

    public void testHelloworld();

 

}

l         组件实现

 

public class ConstructorImpl implements ConstructorInf {

    private String message;//验证常量方式注入

    private AI ai;// 引用已有的其他业务组件

    private Test test;// 给定属性对应类型名称,由框架实时构建该类型的实例

    public ConstructorImpl(String message, AI ai,Test test)//依赖注入的构造函数

    {

       this.message = message;

       this.ai = ai;

       this.test = test;

    }

   

    public ConstructorImpl() //默认的构造函数

    {

       this.message = message;

       this.ai = ai;

    }

    public void testHelloworld() { //业务方法

      

       System.out.println(message);

       System.out.println(ai);

    }

 

}

 

准备后组件之后,编写bboss aop框架的业务组件配置文件manager-constructor.xml

内容如下:

<?xml version="1.0" encoding='gb2312'?>

<manager-config>

    <manager id="constructor.a"

       singlable="true">

       <provider type="A" default="true"

           class="com.chinacreator.spi.constructor.ConstructorImpl" />   

       <construction>   

           <param value="hello world"/>

           <param refid="interceptor.a"/>

           <param type="com.chinacreator.spi.constructor.Test"/>

       </construction>

    </manager>

</manager-config>

 

manager-constructor.xml文件存储在classes下的包com.chinacreator.spi.constructor目录下,

再将manager-constructor.xml配置在主文件manager-provider.xml(该文件在classes根目录下)中:

 

<manager-config>

    ... ...   

    <managerimport file="com/chinacreator/spi/interceptor/manager-interceptor.xml" />  

    <managerimport file="com/chinacreator/spi/constructor/manager-constructor.xml" />

    ... ...

 

</manager-config>

其中引用的业务组件"interceptor.a"

<param refid="interceptor.a"/>

配置在拦截器实例配置文件manager-interceptor.xml中:

 

<manager-config>

    <manager id="interceptor.a"

       singlable="true">

       <provider type="A" default="true"

           class="com.chinacreator.spi.interceptor.A" />

       <!-- against the loop ioc rules,because constructor.a reference interceptor.a -->

       <!-- <reference fieldname="const" refid="constructor.a"/>-->

      

       <synchronize enabled="true">

           <method name="testInterceptorsBeforeafterWithTX"/>

           <method name="testInterceptorsBeforeAfter"/>

           <method name="testInterceptorsBeforeThrowing"/> 

           <method name="testInterceptorsBeforeThrowingWithTX">

           </method>

       </synchronize>

       <interceptor class="com.chinacreator.spi.interceptor.Insterceptor"/>

       <interceptor class="com.chinacreator.spi.interceptor.Insterceptor1"/>

      

       <!-- 

           在下面的节点对provider的业务方法事务进行定义

           只要将需要进行事务控制的方法配置在transactions中即可

       -->

       <transactions>

           <method name="testInterceptorsBeforeafterWithTX"/>

           <method name="testInterceptorsBeforeAfter"/>

           <method name="testInterceptorsBeforeThrowing">

分享到:
评论
1 楼 yin_bp 2009-06-20  
bboss aop最新版本: bboss aop 1.0.6 ,下载地址:https://sourceforge.net/project/showfiles.php?group_id=238653&package_id=290546&release_id=658454

相关推荐

    bboss-aop.jar

    官方版本,亲测可用

    bboss-aop-test.jar

    官方版本,亲测可用

    bboss mvcdemo 下载地址

    4. **AOP(面向切面编程)**:BBoss MVCDemo支持AOP,可以实现如事务管理、日志记录、权限控制等功能,提高代码的复用性和可维护性。 5. **国际化与本地化**:框架内置了国际化和本地化支持,使得应用可以根据用户...

    Bboss国际化实践.ppt

    【Bboss国际化实践】主要涉及了软件系统的全球化适应性改造,以便支持多语言环境。以下是对这个主题的详细解析: 1. **界面元素国际化**: - 界面文字:所有用户可见的文字都需要进行翻译,确保不同语言环境下的...

    bboss+es基本操作示例.zip

    集成bboss和Elasticsearch时,首先需要在项目中引入bboss的依赖,并配置Elasticsearch的相关连接信息,如集群名称、节点地址等。然后可以通过bboss提供的API进行索引创建、数据插入、查询、更新、删除等操作。 4. ...

    bboss会话共享培训文档

    bboss兼容Servlet 2/3规范,能够与现有的应用系统无缝集成,减少或无需进行修改。它还支持跨多个主流应用服务器(如Tomcat、WebLogic、WebSphere、Jetty等)部署,并且没有会话粘滞性的约束,允许客户端请求均匀地...

    基于Java的bboss开源框架设计源码

    bboss框架集成了AOP/iOC、MVC、持久化标签库、RPC、事件处理、Bean-XML序列化等多种功能。本项目基于bboss框架构建了数据采集ETL工具、流批一体化Stream工具、Elasticsearch客户端工具和WebSession共享框架等应用。

    springboot整合bboss es增删改查测试demo代码

    本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...

    企业级J2EE开源框架bboss

    BBoss(全称为bbossgroups)是一个专为企业级J2EE应用设计的开源框架,它为Java开发者提供了一系列强大的工具和服务,以简化Web应用程序的开发过程。该框架旨在提高开发效率,降低维护成本,同时保持高度的灵活性和...

    bboss ioc配置文件中使用外部属性文件介绍

    在Java开发中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它能提高代码的可测试性和可维护性。BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    3. **查询数据**: 构建查询条件,通过 BBoss API 发送请求并解析返回结果。 4. **更新和删除**: 更新已存在的文档,或者根据条件删除数据,同样可以通过 BBoss API 实现。 5. **高级功能**: 学习如何利用 BBoss 进行...

    springboot集成ElasticsearchBboss调用Elasticsearch.md

    springboot集成ElasticsearchBboss调用Elasticsearch的案例分享

    由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    **bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...

    bboss 安全认证过滤器功能介绍

    3. **设置过滤规则**:在BBoss中,我们可以配置过滤器规则,指定哪些URL路径需要通过`SYSAuthenticateFilter`进行过滤。 4. **过滤请求**:对于需要认证的请求,`SYSAuthenticateFilter`会检查会话中是否存在认证...

    bboss elasticsearch-5.7.8.rar

    3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...

    bboss-db-elasticsearch-tool-master_java_

    【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...

    bboss会话共享培训文档分享

    它遵循Servlet 2/3规范API,并提供了创建、修改、销毁、查询和监控session的功能。bbosssession支持灵活可扩展的序列化机制,并依赖于分布式缓存技术,如Redis或Mongodb。通过Session存储服务,bbosssession能够实现...

    bboss-soa.jar

    官方版本,亲测可用

Global site tag (gtag.js) - Google Analytics