返回首页
加入收藏
广告联系
站内搜索:
资讯中心
软件下载
最新列表
新闻资讯
软件产业
技巧应用
软件评测
教程中心
电脑安全
游戏娱乐
软件学院
编程开发
硬件导购
手机数码
论坛社区
网站地图
首页
>
新闻系统
>
编程天地
> 文章正文
SCA中Java接口实现Service
2007-11-15 11:33:19 来源:论坛整理 作者:王洪伟 点击:
1、基于Java 的service 接口和实现组件的Java类
1、基于Java 的service 接口和实现组件的Java类
接口
package services.hello;
public interface HelloService {
String hello(String message);
}
实现
package services.hello;
import org.osoa.sca.annotations.*;
@Service(HelloService.class)
public class HelloServiceImpl implements HelloService {
public String hello(String message) {
...
}
}
对应的Componet Type
<?xml version="1.0" encoding="ASCII"?>
<componentType xmlns=http://www.osoa.org/xmlns/sca/1.0>
<service name="HelloService">
<interface.java interface="services.hello.HelloService"/>
</service>
</componentType>
2、自己定义的service接口并实现的Java 实现类
package services.hello;
import org.osoa.sca.annotations.*;
@Service(HelloServiceImpl.class)
public class HelloServiceImpl implements AnotherInterface {
public String hello(String message) {
...
}
…
}
根据@service注解的默认规则:如果一个service只有一个接口,实现了接口就是实现了service。
所以上面的实现还可以改写,如下:
package services.hello;
public class HelloServiceImpl implements AnotherInterface {
public String hello(String message) {
...
}
…
}
对应的Component Type
<?xml version="1.0" encoding="ASCII"?>
<componentType xmlns=http://www.osoa.org/xmlns/sca/1.0>
<service name="HelloService">
<interface.java interface="services.hello.HelloServiceImpl"/>
</service>
</componentType>
3、一个Java实现类实现两个service
package services.hello;
import org.osoa.sca.annotations.*;
@Service(interfaces={HelloService.class, AnotherInterface.class})
public class HelloServiceImpl implements HelloService, AnotherInterface {
public String hello(String message) {
...
}
…
}
对应的Component Type
<?xml version="1.0" encoding="ASCII"?>
<componentType xmlns=http://www.osoa.org/xmlns/sca/1.0>
<service name="HelloService">
<interface.java interface="services.hello.HelloService"/>
</service>
<service name="AnotherService">
<interface.java interface="services.hello.AnotherService"/>
</service>
</componentType>
4、Java实现类通过接口子类关系实现两个service
service 1
package services.hello;
public interface HelloService {
String hello(String message);
}
service 2
package services.hello;
public interface HelloService2 extends HelloService {}
实现
package services.hello;
import org.osoa.sca.annotations.*;
@Service(interfaces={HelloService.class,HelloService2.class})
public class HelloServiceImpl implements HelloService {
public String hello(String message) {
...
}
}
对应Component Type
<?xml version="1.0" encoding="ASCII"?>
<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0">
<service name="HelloService">
<interface.java interface="services.hello.HelloService"/>
</service>
<service name="HelloService2">
<interface.java interface="services.hello.HelloService2"/>
</service>
</componentType>
相关文章:
Windows XP Service Pack 3 更新列表
焦点:2008年值得学习的五种Java技术
用Java编程处理XML为SOA减少内存占用
Sun如何处理PostgreSQL和Java DB
因小失大切莫轻视JAVA异常处理
J2SE综合--有关 JAVA 的多线程浅析
对几种流行的手机浏览器评测比较
Linux系统下的三种Java环境配置方法
Java入门:Java语言中Timer类的简洁用法
看java做的树的三种非递归算法
Windows XP Service Pack 3 更新列表
选择时尚追逐流行 带HDMI接口液晶荐
焦点:2008年值得学习的五种Java技术
戴尔2408WFP首款DP接口
用Java编程处理XML为SOA减少内存占用
Sun如何处理PostgreSQL和Java DB
因小失大切莫轻视JAVA异常处理
J2SE综合--有关 JAVA 的多线程浅析
Linux系统下的三种Java环境配置方法
Java入门:Java语言中Timer类的简洁用法
评论加载中...
loading...
编辑部信箱
去论坛给我们提意见
精彩推荐
焦点大图推荐
本类热门文章
论坛美图
本周软件下载排行