加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 创建可重用的模块

发布时间:2020-12-15 00:41:11 所属栏目:Java 来源:网络整理
导读:我正在为网络编写一个大的Red5 Java应用程序. Red5是基于Java的Flash Media Server替代方案,使用spring框架编写. 我想在线申请多个版本的应用程序,每个版本都有不同的行为,不同的类启用或禁用. 我正在寻找一种方法将我的代码转换为基于模块的代码,这将允许我
我正在为网络编写一个大的Red5 Java应用程序.
Red5是基于Java的Flash Media Server替代方案,使用spring框架编写.

我想在线申请多个版本的应用程序,每个版本都有不同的行为,不同的类启用或禁用.

我正在寻找一种方法将我的代码转换为基于模块的代码,这将允许我从主应用程序中删除/添加模块/功能.

我知道OSGI http://www.springsource.org/osgi,但它说它需要一个SpringSource dm服务器,我不知道它将如何在red5中一起工作,而且完全理解它似乎非常复杂.

我一般都不了解spring框架,我使用它与db相关,就是这样. red5更广泛地使用它.

任何人都可以从这些信息中得到任何意义吗?是否有可以将我的代码划分为模块的东西?

任何有关该问题的信息将不胜感激.

解决方法

处理这种情况的首选方法是依赖性注射(DI). Spring内置了DI功能,教程很容易达到 find online.然而,由于很多原因,Spring的DI不如 Guice提供的那么好,我强烈推荐. (在我看来,Guice优于Spring的DI的主要优点是类型安全.)

DI基本上是一种在运行时替换类实现的机制.而不是硬代码依赖于类(通过让类直接构造其他类),您可以对它们进行编码,以使其依赖类在其构造函数中传递给它们.然后,DI框架将根据配置在运行时传递正确的实例. Spring配置可以通过注释或XML文件完成,Guice使用com.google.inject.AbstractModule的子类.

因此,您可以为应用程序的不同实例使用不同的配置文件,并让它们为激活提供不同的功能集,或者实际上是同一功能的不同实现.如果您将应用程序设置为使用此技术,则实例之间唯一需要不同的是单个配置文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读