上篇文章中,我们开发了一个自定义的Bundle,接着从网络中下载到Spring和Blueprint的Bundle,然后复制到DynamicRuntime项目下. 需要注意的是,这些Bundle并不能在Eclipse自带的Equinox启动管理工具中显示,因为我们并没有將这些Bundle添加到自定义的Target Platform中,接下来我们就来完成这一操作. 一.启动Spring和Blueprint相关Bundle 单击Window=>Preferences菜单,然后单击Plug-in Dev…
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(三): 基于FwLib_STC8的模数转换ADC介绍和演示用例说明 STC8H开发(四): FwLib_STC8 封装库的介绍和使用注意事项 STC8H开发(五): SPI驱动nRF24L01无线模块 STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块 STC8H开发(七…
我们都知道,很多业务系统都是基于 MVC 三层架构来开发的.实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式. 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了面向对象编程风格,是一种彻彻底底的面向过程的编程风格,因此而被有些人称为反模式(anti-pattern).特别是领域驱动设计(Domain Driven Design,简称 DDD)盛行之后,这种基于贫血模型的传统的开发模式就更加被人诟病.而基于充血模型的 DDD 开发模式越来越被人提倡. 基于上…
前面文章中,我们已经完成了OSGI应用中Spring.Mybatis.Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询. 前面文章中,我们已经搭建好的工作空间如下图所示: 本篇文章中,我们只需要在com.csdn.osgi.user.web工程中添加页面及Controller即可. 首先新增一个登录界面,文件路径为在WebContent/WEB-INF/jsp/login.jsp,内容如下: <%@ page language=&qu…
作为一个企业级的Web应用,MVC框架是必不可少的.Spring MVC目前使用也比较广泛,本文就来介绍一下如何在OSGI应用中实现Spring.Mybatis.Spring MVC框架的整合,其中Spring MVC的整合比较困难,原因是Spring整合到OSGI中后,每个Bundle都拥有一个孤立的ApplicationContext,也就是说不同Bundle中实例化的Bean之间的依赖注入就存在一定的问题,前面文章中提到过,这个问题可以通过Bean的注册和引用机制解决. 而实例化Sprin…
前面文章中介绍了如何在OSGI应用中整合Spring和Mybatis框架,本篇文章开始介绍如何使用OSGI技术开发Web应用.对于传统的Java EE应用,应用中涉及到的Web元素无非就是Servlet.JSP.静态资源等,其中静态资源包括HTML页面.CSS.图片等等.当然还有Portlet.Filter.Listener等,由于不太常用,本文就不涉及这方面的内容了. 一.OSGI Web应用两种开发模式介绍 看过OSGI相关书籍的朋友应该都知道,OSGI Web应用开发有两种模式,第一种模式…
上篇文章中,我们完成了在OSGI应用中整合Spring和Mybatis框架的准备工作,本节我们继续Spring和Mybatis框架的整合. 一.解决OSGI整合Spring中的Placeholder问题 使用Spring框架的朋友应该都知道,我们可以在Bean的配置文件中,使用${key}的形式访问properties文件中对应的value值,需要用到Spring中的PropertyPlaceholderConfigurer类,使用方式如下,首先需要配置placeholder,例如: <bean…
到目前为止,我们已经学习了如何使用Blueprint將Spring框架整合到OSGI应用中,并学习了Blueprint&Gemini Blueprint的一些使用细节.本篇文章开始,我们將Mybatis框架整合到OSGI应用中. 一.获取Mybatis框架Bundle Mybatis框架的Bundle获取比较简单,因为Mybatis框架在发布Release版本时就考虑到用户可能会在OSGI应用中使用Mybatis,所以从官方地址下载得到的Jar包本身就是一个Bundle,MANIFEST.MF文…
一.OSGI简介 OSGI全称为Open Service Gateway Initiative(开放服务网关规范),有两个层面的含义,一方面它指OSGi Alliance组织:另一方面指该组织制定的一个基于Java语言的服务(业务)规范--OSGi服务平台(Service Platform). 一般Java开发人员所说的OSGI是指由OSGi Alliance组织制定的Java模块化规范,该规范的核心部分是一个框架,其中定义了应用程序的生命周期模式和服务注册.基于这个框架定义了大量的OSGi服务…
上篇文章介绍了OSGI Web应用的两种开发模式,并把Jetty应用服务器以Bundle的形式整合到Equinox容器中,已这种模式开发Web应用,所有的应用程序资源,例如Servlet.JSP.HTML页面等,都需要使用OSGI规范提供的HttpService服务进行注册,否则无法通过浏览器请求服务器端资源. 一.HttpService服务详解 接着我们就来了解一些HttpService服务,它实际上就是一个接口,具体的服务类由OSGI框架(例如Felix.Equinox等)实现,HttpSe…