Spring.DM版HelloWorld

本文主要描述使用Spring.DM2.0,创建OSGi的HelloWorld演示程序,理解Spring.DM的OSGi框架实现机制。

环境描述:

项目 版本
Eclipse 3.7.x
JDK 1.6.x
Sprng.DM spring-osgi-2.0.0.M1-with-dependencies 下载地址

一、环境准备

将spring-osgi-2.0.0.M1-with-dependencies ,解压到一个文件夹中,你能看到以下目录:

在Eclipse中点击菜单:File->Import,就会出现导入的对话框,如下图

选中“Plug-ins and Fragments”,点击“Next>”,就会出现导入选项对话框,如下图

在"Import From”中选择“Directory”,点及后面的”Browse”浏览我们刚才解压spring.dm的文件夹目录中的"dist“文件夹,然后点”Next>”,

会出现导入对话框,导入如下图选中的jar包,点击“finish”,如图所示

然后同上面的步骤,导入spring-osgi-2.0.0.M1-with-dependencies 解压目录中的lib,选择的jar包如下图所示,点击“finish”完成导入

一共从dist和lib目录里面导入了15个包,

  1. org.springframeork.osgi.bundle.core
  2. org.springframeork.osgi.bundle.extender
  3. org.springframeork.osgi.bundle.io

这3个包是spring.dm的核心包,extender包完成了服务的发布和注入的功能,它会在META-INF下的spring目录里面找xml文件,来完成配置工作;

这几个包是org.apache.commons.logging的依赖包,否则会提示如下错误:

Reason: Missing Constraint: Import-Package: org.apache.commons.logging; version="[1.1.1,2.0.0)"

最后你能看到在Package Explorer视图里面看到如下的结果:

到这里就准备好了包引用环境

二、配置OSGi运行配置

在eclipse菜单操作:Run->Run Configurations…,就会出现运行配置的窗口,在左面的面板中右键点击“OSGi Framework”,点击“New”,如下图所示

会出现运行配置对话框,如下图所示;

在上图中Workspace中选择运行spring.dm所需要的bundle,所上图所示那个打的红色矩形框,在Target Platform中选择一个osgi和一个loggin包,如上图所示,点击checkbox”Only show selected”,应该和上图一样,点击”Validate Bundles”验证绑定是否正确,我们先把这个run configuration的name设置为:Run_Spring.DM,点击”Apply”按钮保存,最后点击“Run”按钮,运行配置,在Console窗口中能够看到,如下图:

有一个警告(要解决警告问题请查看:Spring.DM web 开发环境搭建 中注意事项章节),先忽略,在控制台按回车键,然后输入:ss,查看插件运行状态,如下图所示

这表示,我们的spring.dm环境已经配置好了,接下来我们就要来个HelloWorld了!

三、创建Helloworld演示

在Eclipse菜单中:File->New->Project…,在New Project对话框中选择如下图所示(plug-in project)

在上图中点击“Next>”就会出现新建工程对话框,选择如下图所示

在上图中把项目名称改为:spring.dm.helloworld,在“Target Platform”中选择”an OSGi framework:standard”,点击“Next>”

在上图中设置:Provider,然后点击“Finish”完成项目的创建,新项目创建好后,如下图中红框所示

由于我们开发spring.dm不需要Activator,所以要把src下面包“spring.dm.helloworld”中的“Activator.java”删除掉,删除后如下图所示

在上图中的META-INF中的MANIFEST.MF文件中出现了一个警告,我们双击打开MANIFEST.MF文件,选择MANIFEST标签,如下图所示

在上图中出现了一个警告标志,如长红色矩形框所示,我们把这一行删除掉,然后保存;否则会出现找不到Activator的错误。目前项目如下图所示:

在上图中src下面包spring.dm.helloworld包下面创建一个HelloWorld的java类文件,如下图所示

在HelloWorld类中写start和stop两个方法,打印出下面的状态,如下所示,

在工程中META-INF文件夹中,新建“spring”文件夹,并在spring文件夹中新建一个helloworld.xml文件,如下图所示:

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定义 -->
  <bean name="hello" class="spring.dm.helloworld.HelloWorld" init-method="start" destroy-method="stop" >
  </bean>

</beans>

这个bean的配置和我们在使用spring的配置的时候一样,当我们启动helloworld的时候会调用start方法,控制台会出现“我正在启动”,当我们停止helloworld的时候,会调用stop方法,在控制台会打印出“我正在关闭”。

好了,我们的helloworld已经完成了

四、运行HelloWorld

在eclipse菜单中:Run->Run Configurations…,就会出现以下界面,如下图所示

在上图中Workspace中把我们新建的helloworld包选中,如上图所示,点击“Run”按钮,运行,我可以看到如下结果,如下图所示:

我们在控制台中回车,然后输入:ss ,回车,对状态进行查询,结果如下

在上图中我们helloworld已经启动了,我们用命令来停止helloworld,在控制台输入stop 23,回车

我们在控制台可以看到,输出了“我正在关闭”,输入ss再查询状态,如下图所示:

在上图中可以看到,我们helloworld已经处于resolved状态了。

目前我们已经成功地helloworld出来了!

时间: 2024-10-18 17:17:54

Spring.DM版HelloWorld的相关文章

Spring.DM web开发环境搭建

作为一个初学者来说,搭建好Spring.DM 的web开发环境还是有些麻烦的.我就遇到了N多麻烦,走了很多弯路.本文介绍了2种比较简单的搭建Spring.DM OSGi web开发环境的搭建. 第一种方法 和上一篇文章相似,请移步这里:Spring.DM版HelloWorld 首先引用spring-osgi-2.0.0.M1文件夹中的dist和lib文件夹种的包(不清楚了,请看Spring.DM版HelloWorld 种的环境准备章节),具体引用后的包效果如下: 图1 配置"运行选项”,ecli

Java Web框架-----------------------struts2(官网教程版HelloWorld)

Java Web框架------------------struts2(官网教程版HelloWorld) 我们都知道Struts是Java Web 常用的三大框架之一,另外还有Spring.Hibernate.学习Struts很有必 要!那么怎么学习呢?我的建议是: 1.对于英语能力还可以的人,学技术我们要从官网文档学起,再结合中文别人所写的论文.博客,视频 等.这样可以达到事半功倍的效果. 2.对于阅读英语稍微吃力的人,我们可以下载有道词典,再来本计算机专业英语书,不懂就查,但是, 我们决不能

Spring DM所提供的Bundle监听接口OsgiBundleApplicationContextListener

通过使用Spring DM提供的监听接口,我们可以更好的对服务进行管控,其实该接口也非常简单就能使用上,只要自定义一个类实现OsgiBundleApplicationContextListener接口,实现onOsgiApplicationEvent方法,并将自定义类注册成OSGI服务,通过判断event的事件类型来执行相应逻辑处理,同时也可以获取到当前监听的Bundle,从而达到更深层次的监控, public class ListenerDemo implements OsgiBundleAp

跟着刚哥学习Spring框架--创建HelloWorld项目(一)

1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spring给JavaEE带来了春天. 2.Spring框架特点 √ 轻量级:不是说他的文件大小很小,指的Spring是非侵入性. 知识点:轻量级框架和重量级框架的区别 轻量级和重量级的框架是以启动程序所需要的资源所决定,比如EJB在启动程序的时候需要消耗大量的资源,内存和CPU,所以是重量级.√ 依赖注入

Spring 4 MVC HelloWorld - 注解/JavaConfig实例

在之前的Spring 4 MVC HelloWorld - 实例中,有spring-mvc.xml和web.xml这两个xml文件.现在通过java配置,将删除这个两个xml文件. 1.pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

Spring DM 2.0 环境配置 解决Log4j问题

搭建 spring dm 2.0 环境出的问题 log4j 的问题解决办法是 一.引入SpringDM2.0的Bundle,最后完成如下图所示: 注意:要引入slf4j.api.slf4j.log4j.slf4j.org.apache.commons.logging与org.apache.log4j这四个是SpringDM日志处理的相关的jar.但是,仅引入这四个,此时的日志系统依然是不能正常启动的,详情看后文. 此时启动,将会报号如下警告: 1. osgi> log4j:WARN No app

spring和springMVC整合注解版helloworld

整合的之前需要从官网上下载spring完整的jar包,我下载的是spring-framework-3.2.2.RELEASE.整合步骤如下: 1.在eclipse中新建一个web项目,将下载的spring的jar包拷入lib目录下,但是spring启动的时候依赖一个commons-logging-1.1.jar的jar包,你需要额外的下载. 2.编写web.xml,配置spring的分发器和spring配置文件的位置.具体内容如下: <servlet> <servlet-name>

001. MyBatis+SpringMVC+Spring[重置版]

说在前面的话 三阶段的课程知识点和细节很多,请假应该杜绝! 课后需抓紧时间复习,提高代码质量和速度! 课程周期和学习课程顺序为:[正常情况下] MyBatis 持久层框架 [2周] SpringMVC Web层框架 [2周] Spring 容器框架 [2周] 三阶段课件的共享地址为: 三阶段课件网盘地址 访问密码 1ed2 软件下载地址为:[学会自己下载] MySQL 数据库 STS下载地址 开发工具[跟Eclipse一样] 数据管理工具破解版 访问密码 5666 Tomcat7.0.69 下载

Spring各版本源码下载

spring framework 各版本源码下载地址 现在spring的源码下载地址真是不好找,这次终于找到了.记录一下,以帮助需要的朋友. https://github.com/spring-projects/spring-framework/tags可以选择需要的版本进行下载. 感谢网友 xiyuan1999 在csdn上提供的此下载地址.