Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

xiayx/freedom-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

freedom-backend

为后台开发提供便利。

1. 操作组件

1.1. 需求

项目中,新增、查看、修改时,会跳到同一个详情页。 在详情页上,需要根据具体操作,进行针对性的处理。 提供操作组件,为详情页的开发提供便利。

1.2. 设计

根据请求路径,解析出具体的操作,再将操作存储在请求属性中,页面上再根据此属性进行针对性处理。

1.3. 实现

  • OperationInterceptor: 拦截请求

  • OperationParser: 从请求中解析出操作

    • OperationParserImpl: 默认的解析器实现

  • OperationProperties: 操作配置属性

  • OperationAutoConfiguration: 支持spring-boot的自动配置

  • Operation: 操作信息

1.4. 待解决

  1. 使用@ConfigurationProperties获取属性后,属性中的部分字符被自动过滤,例如:/、* 等?

2. 关联组件

用于设置关联对象。

2.1. 需求

项目中会有这种情况,一个主实体类通过一个关联主键关联一个关联实体类, 数据库中记录着关联主键的值,实际使用时需要通过关联主键取得关联对象

主实体类(省略getter/setter)
link:src/test/java/org/freedom/backend/associate/Main.java[role=include]
关联实体类(省略getter/setter)
link:src/test/java/org/freedom/backend/associate/Associate.java[role=include]

当从数据库查询主实体类时,只取出了关联主键,我们可以通过关联组件辅助设置关联对象

2.2. 设计

主流程:
  • 取得关联对象

  • 为主实体对象设置关联对象

关联对象取得方式:
  • 由调用者自行提供

  • 通过关联主键查询取得

主实体对象的表现形式:
  • 单一对象

  • 集合对象

关联对象的表现形式:
  • 单一对象

  • 集合对象

2.3. 实现

  • AssociateUtils:工具类提供通用的设置方法,设置方法一共8个(主实体对象表现形式[2]*关联对象表现形式[2]*关联对象取得方式[2]=8)

    • setAssociate:关联对象为单一对象的情况

    • setCollectionAssociate:关联对象为集合对象的情况

  • AssociateSource:关联对象源,用于提供单一关联对象

  • CollectionAssociateSource:集合关联对象源,用于提供集合关联对象

2.4. 待完善

  • AssociateService,提供更加简单易用的接口

    • 根据关联对象属性推测关联主键属性

    • 设置默认的主键属性

About

后台管理项目,为后台管理的开发提供便利

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /