- 浏览: 103424 次
- 性别:
- 来自: 深圳
最新评论
-
Tom.X:
http://osgia.com
OSGI下的web应用开发(5) -
xiaohei520104:
楼组辛苦了,关于OSGi web的demo资料很少,非常感谢你 ...
OSGI下的web应用开发(5) -
shenwu33:
为什么我的server下面 没有eclipseRT
OSGI下的web应用开发(1) -
zhaoweisgz:
谢谢你的共享~
基于virgo环境的OSGI+Maven的web开发代码下载(spring+hibernate+GWT) -
zrz_1989:
楼主我想请教您个问题,如果将项目移植到OSGi平台上,对于we ...
OSGI下的web应用开发(7)
文章列表
本文将会讲解如何使用IntelliJ来进行debug
1. 启动spring boot
通过启动TestApp来启动一个内嵌的tomcat进行debug,如图
这样既可启动服务器进行测试,你需要的就是在代码中设置断点既可
这种方式的debug没办法获取webapp目录下的jsp的文件,但是可以读取到webapp下的静态资源文件,所以如果你的页面都是静态化的那没问题,这种方式足够了,如果你需要使用jsp,那请接着往下看
2. 通过gradle的tomcat plugin来进行debug
首先需要创建一个gradle task
如图进行配置,然后启动它,这样就启动了一个 ...
本章讲述如何进行业务开发,比如我们需要开发一个联系人的业务,显示联系人列表,增加联系人,修改联系人信息,删除联系人。此处所有的开发都不需要重启服务器,完全动态加载。我已经把代码提交到了src/test/resources/groov ...
这一章主要讲项目的结构。
1. 项目使用gradle进行管理,如果你熟悉可以跳过这段,这里简单介绍一下。Gradle是一个类似于maven的项目管理构建工具,配置文件为项目根目录底下的build.gradle,你可以在这里配置项目的第三方依赖包。
dependencies {
def springFrameworkVersion = "4.2.5.RELEASE"
compile "org.springframework:spring-context:${springFrameworkVersion}"
compile "or ...
框架终于搭建得差不多了,现在分享一下如何利用此框架进行动态web项目的搭建。
目标:通过编写java代码实现动态修改代码,包括动态增加减少实体类,动态修改spring的配置,动态修改Dao,service,controller,动态修改安全配置
框架使用spring+springmvc+hibernate+spring security搭建,对前端不做限制,可使用任意技术。
注意:项目使用scala+groovy实现,但不要求大家懂得此两种语言,如果懂得则能更好的读懂框架,这里只需要大家在groovy文件中编写完全的java代码,实现动态功能正是得益于读取groovy源文件实现,所以必 ...
在很久以前使用了groovy来实现web项目的动态加载,现在把它整理了一下,写了一个scala为基础的web项目,目前该项目支持在groovy中引入spring的特性,并可以随意的添加,修改或删除任意的groovy类文件,比如动态添加controller,动态的添加domain,动态的修改service,都是可以的。项目会继续改进,目前还在测试阶段,
现在放出源代码,代码地址:https://github.com/georgezeng/geo-web-dynamic-test
需要修改src/test/application.conf文件中的groovy文件的目录(设置成你本 ...
公司使用了一些groovy脚本来实现一些动态功能,最近把它和spring做了一下整合,先把设计思路贴一下,近期再把代码整理一下,做成动态框架发布
最近由于收到了像素鸟的刺激搞到我也跃跃欲试,想要尝试着做游戏,学了几天的unity,感觉还不错,现在分享一下我的像素鸟项目,希望能与大家做交流
https://gitcafe.com/GeorgeZeng/flappybird
由于很多朋友在使用我的上一个版本的web开发遇到了非常多的问题,而且很头疼,现在上传一个可以立即运行的版本,供大家参考。此版本是基于之前的非maven版本基础上加入了maven,利用maven来管理bundle项目。
请调用osgi.demo项目里的build.xml文件的<deploy-dependencies-to-server-repository>target,进行依赖部署(部署所有bundle的依赖到virgo),这个值请在build.properties中的virgo.location(virgo的本地目录)进行修改
关于自身各个bundle项目间的关联: ...
新的sts已经没有spring dm server tool的插件了,取而代之的是virgo项目自身提供了virgo tool,但是在安装的时候却发现很不顺利,只能使用STS2.8以下的版本才能正常安装,否则会出现由于sts对spring自身的升级出现而使virgo tool出现了版本查找不到的现象。不过可以通过加入相应的确实的spring bundle来使得virgo tool顺利的在2.8的版本上进行安装,但是安装后却没办法使用bundle编辑器,让开发变得很麻烦。
于是今天上virgo论坛看了下,发现有人说最新版的STS2.9可以使用virgo tool的snapshot版本了,试了一下 ...
这个章节来看看virgo server的目录结构,如有错漏请指正。
以上是virgo server的根目录下的所有内容,这里只讲几个主要的目录。
(1) bin目录
bin目录用于存放服务器的执行文件,其中startup是用于启动服务器的脚本,shutdown则是停止服务器的脚本。(脚本在linux和windows下注意使用不同的后缀名,例如startup.sh或startup.bat,以下皆省略)
(1.1)启动服务器,以默认的方式
%virgo_server_home%bin/startup
(1.2)启动服务器,并清空work目录的内容
%virgo_s ...
virgo server的前身是spring dm server,是由spring贡献给eclipse的一个项目,是一个完整的基于OSGI的应用服务器。
spring tool suite 提供了spring dm server的插件,使服务器的配置和应用的部署都变得简单。
本文描述virgo server的大体配置
(1)下载vrigo server 插件
这个已经在http://georgezeng.iteye.com/blog/1129181中做过介绍了,这里不再熬述。
(2)virgo server的配置页
新建一个virgo server实例。如图,ser ...
现在我们要进入最后一个环节的开发,也就是开发Web Bundle。
我使用的是GWT来作为前端的展示,如果不熟悉这一块的童鞋可以无视它,因为你可以使用你自己熟悉的MVC框架来替换。
这里只需要了解web Bundle开发中的一些主要步骤 ...
这一节进入Service Interface Bundle和Service Implementation Bundle的开发。
同样的,首先先来看看类图
为了简化对service的操作,一样定义了一个基础服务接口。
Service Interface Bundle
(1)新建Bundle Project项目
当项目创建完后,我们需要先把项目间的关联关系设定好再开始编码。如图
勾选上dao2和domain两个项目,因为我们会引用到这两个项目的类。
(2)代码
(2.1) IBaseService
package net.georgez ...
这一节将对Dao Interface Bundle 和 Dao implementation Bundle进行开发。
上图是Dao层的设计。为了尽可能的还原真实的设计架构,这里设计了一个BaseDao,用来定义最基本的Dao操作。
然后有一个HibernateBaseDao的抽象类继承它并实现这些基本操作。然后定义了一个ContactDao,这个dao就是联系人相关业务的Dao接口,以及它的实现ContactDaoImpl。图中我们可以看到模块的划分情况,接口是一个bundle,实现是另一个bundle。
Dao Interface Bundle的开发
...
接下来开发Domain Bundle这个模块。这个Bundle不需要是一个Spring-Powered Bundle,因为只需要作为被其他模块直接引用的类文件而已,所以没有spring的配置信息。由于只有一个联系人的业务,所以这里只有一个domain对象,就是Contact。
这里直接贴上它的代码
package net.georgezeng.test.domain;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Entity;
impor ...