Skip to content

2.基础预览

CLovinr edited this page Mar 12, 2019 · 5 revisions

一、基础功能

1、概述

OftenPorter框架目前包含以下几个主要板块:

  • 核心板块(Porter-Core):整个框架最核心的部分,包括切面、IoC、各种注解、增强注解等,且框架的思路是底层先通过编程的方式实现功能、接着在此基础上进行注解或配置文件的辅助性完善。
  • 持久层板块(Porter-DB):目前只对jdbc进行了封装,对MyBatis也进行了增强,暂时只对Mysql数据库进行了测试、且在生产环境使用。
  • Servlet板块(Porter-Bridge-Servlet):用于支持servlet环境,且对服务端的WebSocket进行了封装。
  • Http板块(Porter-Bridge-Http):最初被用于分布式、自定义的服务器端解析引擎的板块,但由于在目前公司的生产环境中还不需要,因此暂没有实现这两步;目前只是引入了okhttp依赖等,且对客户端WebSocket进行了封装。

除了上述基础板块外,随着后面的完善,将会增加更多必要的板块。

2、功能列表

  • Url接口:通过url接口,系统与外界、其他模块进行通信。服务器端快速定义访问接口(可以理解成action),声明必须参数、非必须参数、指定参数类型等;客户端通过url及参数请求服务器端,获取响应结果。
  • IoC:通过@AutoSet进行依赖的自动设置。
  • 切面:通用切面和Url接口切面。
  • 框架的基础注解。
  • 增强注解
  • WebSocket:服务端和客户端。
  • Servlet适配
  • 数据持久层
  • 增强Mybatis
  • 参数处理与实体绑定
  • 工具类

二、核心板块

1、框架主要注解

  • @PortIn,@PortOut
  • @PortStart,@PortDestroy,@PortInit
  • @AutoSet,@AutoSet.SetOk,@AutoSetSeek,@AutoSetStatic,@AutoSetName
  • @Mixin,@MixinOnly,@MixinTo(s)
  • @AutoSetThatForMixin,@AutoSetToThatForMixin
  • @Nece,@Unece
  • @JsonObj,@JsonField
  • @Parse(s),@BindEntities
  • @Importer,@ImportProperties,@Property
  • @AutoSetDefaultDealt
  • @AspectOperationOfPortIn,@AspectOperationOfNormal
  • @AdvancedAnnotation
  • @PorterSyncOption,@KeyLock,@PortComment

2、主要类

基础包为:cn.xishan.oftenporter.

  • porter.core.base.OftenObject
  • porter.core.JResponse
  • porter.core.ResultCode
  • porter.core.base.OftenRequest
  • porter.core.base.PortMethod
  • porter.core.base.CheckPassable
  • porter.core.init.CommonMain
  • porter.core.init.PorterMain
  • porter.core.init.PorterConf
  • porter.core.annotation.deal.AnnoUtil
  • porter.core.sysset.TypeTo
  • porter.core.sysset.PorterThrowsSync
  • porter.core.sysset.PorterData
  • porter.core.sysset.IAutoVarGetter
  • porter.core.bridge.Delivery
  • porter.core.advanced.IArgumentsFactory

3、主要工具类

基础包为:cn.xishan.oftenporter.

  • porter.core.util.OftenTool
  • porter.core.util.OftenBase64
  • porter.core.util.OftenStrUtil
  • porter.core.util.PackageUtil
  • porter.core.util.IdGen

三、数据持久层(增强Mybatis)

1、主要注解

  • @Nece,@Unece,DBField
  • @MyBatisMapper,@MyBatisParams,@MyBatisAlias(s)
  • @MyBatisField
  • @ExceptColumns,@ExceptDBField
  • @TransactionDB
  • @TableOptionFilter

2、主要类

基础包为:cn.xishan.oftenporter.

  • oftendb.mybatis.MyBatisBridge
  • oftendb.mybatis.MyBatisDao
  • oftendb.mybatis.MyBatisOption
  • oftendb.mybatis.IMapperNameHandle

3、工具类

基础包为:cn.xishan.oftenporter.

  • oftendb.util.SimpleSqlUtil
  • oftendb.util.TableOption
  • oftendb.util.DataUtil

四、Servlet板块

1、主要注解

  • @Htmlx,@Jsp
  • @WebSocket
  • @CorsAccess
  • @IgnoreDefaultMultipart
  • @NoCache

2、主要类

基础包为:cn.xishan.oftenporter.

  • servlet.OftenInitializer
  • servlet.OftenServletRequest
  • servlet.FilePart
  • servlet.WrapperFilterManager
  • servlet.CustomServletPath
  • servlet.render.htmlx.HtmlxDoc
  • servlet.render.RenderPage

3、工具类

基础包为:cn.xishan.oftenporter.

  • servlet.HttpCacheUtil