关于spring写法的一点疑问

demondevilhades 2015-11-09 04:26:51
先上代码

Bean:



public class Bean{}
public class Bean1 extends Bean{}
public class Bean2 extends Bean{}



第一种:



public interface DoService{
public void do(Bean bean);
public Bean get();
}
public class Do1ServiceImpl implements DoService{
@Override
public void do(Bean bean){
Bean1 bean1 = (Bean1)bean;
...
}
@Override
public Bean get(){...}
}
public class Do2ServiceImpl implements DoService{
@Override
public void do(Bean bean){
Bean2 bean2 = (Bean2)bean;
...
}
@Override
public Bean get(){...}
}



第二种:



public interface DoService<T>{
public void do(T bean);
public T get();
}
public class Do1ServiceImpl implements DoService<Bean1>{
@Override
public void do(Bean1 bean){...}
@Override
public Bean1 get(){...}
}
public class Do2ServiceImpl implements DoService<Bean2>{
@Override
public void do(Bean2 bean){...}
@Override
public Bean2 get(){...}
}



第三种:



public interface Do1Service{
}
public class Do1ServiceImpl implements Do1Service{
}
public interface Do2Service{
}
public class Do2ServiceImpl implements Do2Service{
}




其中每个ServiceImpl都是针对对应Bean的操作,但是Bean1和Bean2中的属性有区别。
就目前来看第二种写法好像是比较好用的,既不用每次都强转,又可以继承相同的接口,但是以前没见过这么写spring的service层代码的。请各路大神评价一下这种写法吧。
...全文
67 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-11-09 04:26
社区公告
暂无公告