- 浏览: 1590740 次
- 性别:
文章分类
- 全部博客 (2929)
- 非技术 (18)
- Eclipse (11)
- JAVA (31)
- 正则表达式 (0)
- J2EE (4)
- DOS命令 (2)
- WEB前端 (52)
- JavaScript (69)
- 数据库 (8)
- 设计模式 (0)
- JFreechart (1)
- 操作系统 (1)
- 互联网 (10)
- EasyMock (1)
- jQuery (5)
- Struts2 (12)
- Spring (24)
- 浏览器 (16)
- OGNL (1)
- WebService (12)
- OSGi (14)
- 软件 (10)
- Tomcat (2)
- Ext (3)
- SiteMesh (2)
- 开源软件 (2)
- Hibernate (2)
- Quartz (6)
- iBatis (2)
最新评论
【51CTO精选译文】本文是《你好,OSGi 》系列的第七部分。现在读者们多半已经了解了何谓Spring DM,它和OSGi的关系,以及Spring DM开发环境的设置,那么下面将要开始进行应用程序的开发了。
51CTO编辑推荐: OSGi入门与实践全攻略
欢迎来到 Spring 世界!
在这一部分,我们将使用 Spring DM来创建一个简单的 Hello World 应用程序。这个非常简单的应用程序将在启动时在你的控制台上输出“Hello Spring World!!”,并且在关闭时输出“Goodbye Spring World!!”。第一步是创建一个简单的 HelloWorld.java 类,请参见以下代码:
代码清单1. HelloWorld.java
package com.javaworld.osgi.spring;
public class HelloWorld {
public void start() throws Exception {
System.out.println("Hello Spring World!! " );
}
public void stop() throws Exception {
System.out.println("Goodbye Spring World!!");
}
}
正如你所见,HelloWorld.java 是一个简单的类,它没有实施任何借口或者扩展任何超类(superclass)。它包含两个方法:start() 和 stop()。在应用程序启动时调用 start() 方法;关闭时调用stop()方法。
下一步是在 META-INF/spring 文件夹中创建一个helloworld.xml 文件:
代码清单 2. helloworld.xml
< ?xml version="1.0" encoding="UTF-8"?>
< beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
< bean name="hello" class="com.javaworld.osgi.spring.HelloWorld"
init-method="start" destroy-method="stop" />
< /beans>
在该文件中,只声明了一个名为hello 的 bean,指向com.javaworld.osgi.spring.HelloWorld 类。该 bean 的 init-method 值为 start。destroy-method 属性的值为stop。
当将你的应用程序zuowei Eclipse OSGi 应用程序执行时,应可以在你的控制台上看到“Hello Spring World!!”这条消息。怎么会这么简单?是对,当你创建 META-INF/spring 文件夹并保护你的 helloworld.xml 文件时,已经对其进行了设置。
当 extender 套件启动时,它会发现你的 HelloWorld 套件是由 Spring 提供的。hello bean 已经将 start() 定义为它的初始化方法,因此 Spring 框架将调用 HelloWorld 类的 start() 方法。同样,当你关闭 HelloWorld 套件时,Spring 框架将调用 HelloWorld.java 的 stop() 方法。
Spring DM中面向服务的应用程序
OSGi 在面向服务应用程序开发方面的适用性 是其最让人关注的功能之一。OSGi服务平台运行 OSGi服务构建的、面向服务的应用程序。这一服务只是一个简单的Java 对象,在一个或多个接口名称下发布。OSGi 服务平台的构思是一个源(source)套件在一个公共的寄存器导出服务。然后消费者(consumer)搜索实施了某一特定接口的服务;一旦找到就将其 与该服务绑定并使用它。
在构建复杂的企业应用程序时,OSGi服务平台非常有用。例如,假设我们要创建一个 Web 应用程序,那么在 OSGi 实施中,你可以将该应用程序分为两个套件。数据访问套件可与数据库互动并将数据访问服务导出至一个公共寄存器。Web 层套件将导入数据访问服务并使用它们将数据显示给终端用户。
这种基于模块化架构进行应用程序创建的设计让数据访问服务的更新变得非常容易。比如,要从一个较慢的服务更新到一个较快的服务,你可以创建一个不同 的数据访问服务,来和 Web 服务实现进行会话,然后将 RDMBS 服务替换为这一新的服务,而且无需重启你的应用程序。
在下一个部分我们将构建一个面向服务的联络管理应用程序。该应用程序将演示 Spring bean 如何能够被导出为 OSGi服务,以及 OSGi服务如何导出为 Spring bean。
发表评论
-
spring2.0和spring2.5及以上版本的jar包区别 spring jar 包详解
2009-07-22 15:07 806spring jar 包详解 spr ... -
spring2.0升级到spring2.5
2009-07-22 15:09 821在spring2.0升级到spring2. ... -
spring2.5新特性(转)
2009-07-22 15:10 679简介 从诞生之初,Spring框架就坚守它的宗旨:简化企 ... -
Spring中使用FreeMaker或Vilocity模板发送邮件
2009-07-22 16:38 871本文以用户注册后为用户发送一封邮件为例子,讲述如何在Sprin ... -
Quartz与Spring的集成【转】
2009-08-05 15:21 7932.1 Scheduler 总入口 <bean n ... -
Quartz在Spring中动态设置cronExpression研究(spring设置动态定时任务)【转】
2009-08-05 15:49 847什么是动态定时任务:是由客户制定生成的,服务端只知道该 ... -
Spring结合Quartz实现多任务定时调用
2009-08-05 15:51 744Quartz框架提供了丰富的任务调度支持,比如 ... -
在Spring中使用Quartz进行任务调度
2009-08-06 10:30 850概述 各种企业应用几乎都会碰到任务调度的需求,就拿论坛 ... -
spring&quartz的项目应用总结
2009-08-06 12:20 866一.名词简介: Quartz是一个完全由java编写的开源作 ... -
Spring的transactionAttributes
2009-08-11 11:42 601PROPAGATION_REQUIRED--支持当前事务, ... -
Spring配置中transactionAttributes的意义
2009-08-11 11:43 813最近使用JSF+Spring+OpenJPA ... -
详解spring事务属性
2009-08-11 11:45 649Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我 ... -
acegi参考的部分翻译
2009-08-20 15:34 639序 1. 安全 1.1 准备 1 ... -
Acegi Security -- Spring下最优秀的安全系统
2009-08-20 15:40 795一Acegi安全系统介绍 Author: cac 差沙 ... -
【SSI开发总结.1】struts2整合spring
2009-08-20 15:48 666在Struts2中整合Spring的IoC支持是一件十分简单的 ... -
【SSI开发总结.4】Spring中使用Acegi安全框架
2009-08-20 15:49 682Acegi认证授权主要基于 ... -
【SSI开发总结.3】基于ibatis的自定义分页
2009-08-20 15:49 786分页,在web应用程序中非常常见的功能,也是最基本的功能, ... -
【SSI开发总结.7】Struts+Spring+Ibatis环境配置(二)
2009-08-20 15:50 602spring提供了ibatis的模板类封装,通过简单的设置就能 ... -
【SSI开发总结.6】Struts+Spring+Ibatis环境配置(一)
2009-08-20 15:50 747为了使struts2和spring集成,必须下载一个 ... -
Spring 配置多个数据源
2009-08-20 16:05 700<?xml version="1.0&qu ...
相关推荐
学习SpringDM+OSGI的一些总结,自我学习,上传文档防止丢失。
OSGi新建helloworld doc文档 入门教程
osgi springdm.pdf
osig与spring:springDM开发环境配置,eclipse配置osgi开发环境,及命令
一个基于spring dm server 的osgi 例子,描述了一个简单用户登陆的例子,不同的用户验证方式,用不同的bundle
Spring-DM指的是 Spring ...Spring-DM 的主要目的是能够方便地将 Spring 框架和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环境中,利用OSGi框架提供的服务,将应用变得 更加模块化。
采用OSGi框架设计 一个简单的HelloWorld程序 在EclipseSDK中运行
spring-dm整合osgi所需所有jar包
至觉得用这种方式开发基于OSGi WEB应用比使用Spring DM Server更好至少目前你可以获得更好便携性(可以 在多个Spring DM支持OSGi平台上运行)并且Spring DM Server并没有提供更多企业应用支持 不过对于刚 使用Spring ...
osgi helloworld 实例,适合初学者。分为server和client两个bundle.
NULL 博文链接:https://springsfeng.iteye.com/blog/1271565
NULL 博文链接:https://springsfeng.iteye.com/blog/1152012
IntelliJ IDEA OSGI helloworld程序 包含一个SayHello的OSGI服务 和 OSGI Service 程序
Equinox、Apache Felix与Spring DM 工程创建工程发布
spring osgi相关资源
里面有好几个文档,是我自己在研究的时候用到的,还不错,给大家分享下
OSGi,也称为 Java 语言动态模块系统,它为 Java 应用程序开发指定了...OSGi服务平台的Spring动态模型项目(即Spring动态模型,简称Spring DM)允许开发者构建Spring应用程序,这种应用程序能够在OSGi容器中进行部署。
osgi_spring_dm_jrosgi_spring_dm_jrosgi_spring_dm_jrosgi_spring_dm_jrosgi_spring_dm_jr
关于OSGi当前流行技术的介绍,是OSGi入门首选~~
Spring动态模型参考指南1.0.1 osgi