准备工作:下载spring-DM以来的包,并以插件的形式导入到工程中
1.创建一个plug-in project:UserInterface用于接口编写
public interface UserInterface {
public void addUserInfo(UserInfo userInfo);
}
public class UserInfo {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
MANIFEST.MF中将方法所在的包导出
2.创建一个plug-in project:UserImpl用于接口实现编写
MANIFEST.MF中将1导出的包导入
public class UserImpl implements UserInterface{
public static final Log log = LogFactory.getLog(UserImpl.class);
@Override
public void addUserInfo(UserInfo userInfo) {
log.info("addUserInfo excu...");
}
}
在META-INF下创建文件夹spring:
在spring文件夹下新建:
bean.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" default-autowire="byName">
<bean id="userImpl" class="com.oohla.service.impl.UserImpl"></bean>
</beans>
services-public-cxf.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"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd" default-autowire="byName">
<osgi:service id="userInterface" ref="userImpl" interface="com.oohla.service.UserInterface"></osgi:service>
</beans>
3.创建一个plug-in project:Test用于测试接口
MANIFEST.MF中将1导出的包导入
测试类:
public class Test {
private UserInterface userInterface;
public UserInterface getUserInterface() {
return userInterface;
}
public void setUserInterface(UserInterface userInterface) {
this.userInterface = userInterface;
}
public void setUser(UserInterface userInterface) {
this.userInterface = userInterface;
}
public void addUser(){
UserInfo userInfo = new UserInfo();
userInfo.setId(1);
userInfo.setUsername("mz");
userInfo.setPassword("123");
System.out.println("Test addUser...");
userInterface.addUserInfo(userInfo);
}
}
在META-INF下创建文件夹spring:
在spring文件夹下新建:
beans.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" default-autowire="byName">
<!-- 启动通话监听任务 -->
<bean id="test" class="com.oohla.test.Test" init-method="addUser">
<property name="userInterface" ref="userInterface"></property>
</bean>
</beans>
services-reference-cxf.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"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd" default-autowire="byName">
<osgi:reference id="userInterface" interface="com.oohla.service.UserInterface"></osgi:reference>
</beans>
分享到:
相关推荐
它提供了一种将Spring容器与OSGi服务层集成的方法,使得开发者可以使用Spring的IoC(控制反转)和AOP(面向切面编程)特性来管理OSGi服务。 3. **1.2.0-rc1版本** "spring-osgi-1.2.0-rc1"是Spring OSGi的一个早期...
Spring DM的主要目标是简化OSGi服务的生命周期管理和配置,使得开发者能够像在非OSGi环境中一样轻松地使用Spring。 OSGi是一种基于Java的模块化系统,它定义了一个标准的框架,用于创建、部署和管理模块化应用程序...
- 启动Eclipse IDE,选择一个用于存放项目的空文件夹作为工作空间,例如`C:\sample\springdm`。 - Eclipse 3.3版本内嵌了Equinox 3.3 OSGi容器,这为开发和调试OSGi模块提供了便利。 **4. 导入Spring DM JAR文件*...
Spring OSGi是Spring框架与OSGi(Open Service Gateway Initiative)规范相结合的产物,它允许在OSGi容器中使用和管理Spring应用。OSGi是一种Java模块化系统,它提供了动态部署、版本控制和依赖管理等功能,极大地...
在基于 OSGi 和 Spring 的 Web 应用开发中,我们可以使用 Spring-DM 来实现模块化部署和管理。Spring-DM 是 Spring 开发组织在 2008 年发布的,将 OSGi 和 Spring 结合的第一个版本。dm Server 是一个完全模块化部署...
总结来说,"spring-dm junit"的主题涵盖了在OSGi环境中使用Spring DM开发模块化应用时,如何利用JUnit进行单元测试和确保代码质量。理解和熟练掌握这些知识,对于在OSGi平台上的高效、可靠的软件开发至关重要。
最后,书中还介绍了如何使用SpringSource dm Server来管理和部署OSGi应用,包括它的下载与安装、使用方法以及性能调优等内容。 综上所述,《未来10年:OSGi、Spring_DM》这本书不仅系统地阐述了OSGi及其在企业应用...
- **将 Spring Bean 注册为 OSGi 服务**:Spring DM 支持将 ApplicationContext 中的 Bean 导出为 OSGi 服务,以便其他 Bundle 可以使用。 - **控制导出服务的接口集**:提供了机制来指定 Bean 作为服务导出时所暴露...
Spring-DM,即Spring Dynamic Modules,是Spring官方在2008年推出的项目,旨在将Spring框架与OSGi模块化平台相结合,为Java开发者提供了一套全面的工具和API,以支持在OSGi环境中开发、部署和管理Spring应用程序。...
SpringDM提供了一种在OSGi容器中使用Spring IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)的方法。 在本笔记中,我们将深入探讨如何开发SpringDM Bundle。首先,我们需要理解OSGi的基本概念,...
Spring Dynamic Modules (SPRING-DM) 是一个强大的框架,它将Spring框架与OSGi(开放服务网关倡议)集成在一起,提供了在动态模块化环境中部署和管理Spring应用程序的能力。这一集成对于希望利用OSGi的优势来构建...
例如,SpringDM中的`org.springframework.osgi.core`构建所需的JDK版本为1.5,而现代开发环境中通常使用更高版本的JDK。这可能导致项目无法正常编译或运行。 2. **依赖管理**:为了解决版本冲突问题,可能需要调整...
SpringDM允许开发者使用熟悉的Spring配置来定义服务,这些服务可以在OSGI容器中被发现和使用。通过SpringDM,开发者可以利用Spring的强大功能,如依赖注入、AOP(面向切面编程)等,同时享受到OSGI带来的动态性。 ...
Spring Dynamic Modules 通过整合Spring框架和OSGi平台,为Java开发者提供了一种构建高度模块化、灵活且易于维护的应用程序的方法。对于那些希望利用现代Java开发实践的企业来说,Spring-DM是一个不可或缺的工具。...
### Spring OSGi 入门知识点...以上内容为Spring OSGi入门的基本知识点,涵盖了Spring DM的基础概念、配置方法以及如何在OSGi环境中导出和引用服务等内容。这些知识点对于理解如何将Spring与OSGi结合使用具有重要意义。
【标题】:“基于Spring DM Server的OSGi实例” 在IT领域,OSGi(Open Services Gateway Initiative)是一种模块化系统和Java服务平台,它允许开发者创建可热插拔的组件,从而提高了软件的可维护性和可扩展性。...
在SpringDM(Spring Dynamic Modules)框架中,OSGi(Open Service Gateway Initiative)服务注册与引用是核心功能之一,它使得模块化系统中的组件能够互相发现并交互。本篇笔记将探讨如何在OSGi环境中注册服务以及...