U8Framework4SSH
项目地址:https://github.com/u8-xiaohei/U8Framework4SSH
U8Server中使用的SSH2(Struts2+Spring3+Hibernate4)框架,包括U8Server集成好的配置文件,以及抽象出来的一些通用组件,使得基于J2EE框架开发的同学可以快速展开工作。
U8Server是U8SDK统一渠道SDK接入框架的服务器端。U8Server采用成熟的SSH2(J2EE框架)研发。性能可靠,结构简单。
采用SSH2框架研发的项目,开发其实很简单。主要就是框架的整合和搭建,需要花费点时间。问题主要集中在配置方式和框架的使用。
之前很多同学在问U8Server采用的配置和整个框架,往往就败在了框架整合上面。这里,我们将U8Server采用的框架和配置开源出来。需要采用SSH2研发的项目,可以直接在该框架基础上进行,免去了从头配置的繁琐。
整个框架,基于MVC思想模式,同时所有配置通过注解进行。避免通过配置文件配置带来的繁琐和复杂。
依赖Jar包:
lib/jars目录下为SSH2框架所依赖的一些jar包。添加新的jar包注意,不要导致jar包冲突。
框架配置说明:
applicationContext.xml:Spring容器的配置,所有的组件管理和依赖注入(IOC)都由Spring管理,基本固定,不用修改
jdbc.properties:数据库相关配置,在这里修改数据库连接信息即可
log4j.properties:日志配置,基本固定,不用修改
struts.xml:struts2的配置,因为我们采用注解配置方式,所以该文件配置很少,而且固定
WEB-INF\web.xml:这个是web项目的固定配置,需要配置struts2,spring,hibernate等的过滤器和监听器等。基本固定,不用修改
源码目录(根目录为com.u8.server):
- cache/ :缓存相关类目录。U8Server中对游戏对象,渠道对象,渠道商对象进行了缓存
- common/ :该目录下为U8Server对SSH2框架的一个简单封装
- dao/ :MVC模式典型的DAO层(数据访问层)
- data/ :数据对象
- filters/:struts2过滤器,比如后台管理操作,需要登录用户和拥有相关权限的用户才能进行,通过过滤器来拦截
- log/ :日志目录
- service/:MVC模式典型的Service层(业务逻辑层)
- utils/ :常用辅助工具类
- web/ :MVC模式典型的Web层,这里写struts2的Action
框架使用:
比如现在需要开发一个用户管理系统,
1、我们会抽象出来一个User对象。那么在data目录下,新建一个UUser对象:
/**
* 用户数据对象
* 约定:所有字段的名称,都需要和数据库表格中的字段名称一致
*/
@Entity //说明该对象为一个数据类
@Table(name = "uuser") //该数据库和数据库中某张表格一一对应。name为数据库表的名称
public class UUser {
@Id //说明该字段为主键
@GeneratedValue(strategy = GenerationType.IDENTITY) //主键生成方式,这里自动递增。具体其他方式,自行查阅资料了解
private int id;
private int appID;
private int channelID;
private String name;
private String channelUserID;
private String channelUserName;
private String channelUserNick;
private Date createTime;
private Date lastLoginTime;
private String token;
public JSONObject toJSON(){
JSONObject json = new JSONObject();
json.put("id", id);
json.put("appID", appID);
json.put("channelID", channelID);
json.put("name", name);
json.put("channelUserID", channelUserID);
json.put("channelUserName", channelUserName);
json.put("channelUserNick", channelUserNick);
return json;
}
public int getId() {