weblog-web模块

config 包

在 config 包中,主要包含与 配置 相关的类,用于定义项目的各种配置。以下是这些类的详细说明:

1. CrosConfig

功能 :配置跨域访问。 主要方法 :

  • addCorsMappings(CorsRegistry registry) :
    • 作用 :配置跨域访问规则。
    • 功能 :
      • 允许所有路径( /** )跨域访问。
      • 允许所有来源( * )的请求。
      • 允许 GET 、 POST 、 PUT 、 DELETE 请求方法。
      • 允许所有请求头( * )。
      • 设置跨域请求的最大缓存时间为 3600 秒。
      • 允许发送 Cookie。 作用 :通过配置类定义跨域访问规则,便于在项目中统一管理跨域访问。

2. SecurityConfig

功能 :配置 Spring Security 相关的安全设置。 主要方法 :

  • configure(HttpSecurity http) :
    • 作用 :配置 HTTP 请求的安全规则。
    • 功能 :
      • 设置哪些路径需要认证,哪些路径允许匿名访问。
      • 配置登录、注销、异常处理等行为。
  • configure(AuthenticationManagerBuilder auth) :
    • 作用 :配置用户认证方式。
    • 功能 :
      • 设置用户认证的密码编码器。
      • 配置用户信息的来源(如数据库、内存等)。 作用 :通过配置类定义 Spring Security 的安全规则,便于在项目中统一管理用户认证和授权。

3. SwaggerConfig

功能 :配置 Swagger API 文档。 主要方法 :

  • createRestApi() :
    • 作用 :创建 Swagger API 文档。
    • 功能 :
      • 设置 API 文档的基本信息(如标题、描述、版本等)。
      • 配置需要扫描的 API 包路径。
      • 配置 API 文档的访问路径。 作用 :通过配置类定义 Swagger API 文档的生成规则,便于在项目中统一管理 API 文档。

4. DataSourceConfig

功能 :配置数据源。 主要方法 :

  • dataSource() :
    • 作用 :创建数据源。
    • 功能 :
      • 设置数据库连接 URL、用户名、密码、驱动类等。
      • 配置连接池(如 HikariCP、Druid 等)。 作用 :通过配置类定义数据源的创建规则,便于在项目中统一管理数据库连接。

5. RedisConfig

功能 :配置 Redis 连接。 主要方法 :

  • redisTemplate() :
    • 作用 :创建 RedisTemplate。
    • 功能 :
      • 设置 Redis 连接工厂。
      • 配置 Redis 的序列化方式。 作用 :通过配置类定义 Redis 连接的创建规则,便于在项目中统一管理 Redis 操作。

总结

config 包中的类主要用于定义项目的各种配置,例如跨域访问、Spring Security 安全设置、Swagger API 文档、数据源、Redis 连接等。通过配置类封装这些规则,便于在项目中统一管理各种配置,提高代码的复用性和可维护性。

controller 包

在 controller 包中,主要包含与 控制器 相关的类,用于处理 HTTP 请求并返回响应。以下是这些类的详细说明:

1. IndexController

功能 :处理首页相关的请求。 主要方法 :

  • home() :
    • 作用 :返回首页的 HTML 页面。
  • queryArticlePageList(QueryIndexArticlePageListReqVO queryArticlePageListReqVO) :
    • 作用 :获取首页文章的分页数据。 作用 :通过控制器类处理首页相关的请求,便于在项目中统一管理首页的展示逻辑。

2. ArticleController

功能 :处理文章相关的请求。 主要方法 :

  • queryArticleDetail(QueryArticleDetailReqVO queryArticleDetailReqVO) :
    • 作用 :获取文章的详情信息。 作用 :通过控制器类处理文章相关的请求,便于在项目中统一管理文章的展示逻辑。

3. ArchiveController

功能 :处理文章归档相关的请求。 主要方法 :

  • queryArchive(QueryArchivePageListReqVO queryArchivePageListReqVO) :
    • 作用 :获取文章归档列表。 作用 :通过控制器类处理文章归档相关的请求,便于在项目中统一管理文章归档的展示逻辑。

4. TagController

功能 :处理标签相关的请求。 主要方法 :

  • queryTagList() :
    • 作用 :获取所有标签数据。
  • queryArticlePageList(QueryTagArticlePageListReqVO queryTagArticlePageListReqVO) :
    • 作用 :获取所属标签的文章分页数据。 作用 :通过控制器类处理标签相关的请求,便于在项目中统一管理标签的展示逻辑。

5. CategoryController

功能 :处理分类相关的请求。 主要方法 :

  • queryCategoryList() :
    • 作用 :获取所有分类数据。
  • queryArticlePageList(QueryCategoryArticlePageListReqVO queryCategoryArticlePageListReqVO) :
    • 作用 :获取所属分类的文章分页数据。 作用 :通过控制器类处理分类相关的请求,便于在项目中统一管理分类的展示逻辑。

6. BlogSettingController

功能 :处理博客设置相关的请求。 主要方法 :

  • queryBlogSettingDetail() :
    • 作用 :获取博客的详情信息。 作用 :通过控制器类处理博客设置相关的请求,便于在项目中统一管理博客设置的展示逻辑。

总结

controller 包中的类主要用于处理 HTTP 请求并返回响应,例如首页、文章、归档、标签、分类、博客设置等。通过控制器类封装这些逻辑,便于在项目中统一管理各种请求的处理,提高代码的复用性和可维护性。

convert 包

在 convert 包中,主要包含与 数据转换 相关的类,用于将一种数据类型转换为另一种数据类型。以下是这些类的详细说明:

1. ArticleConvert

功能 :处理文章数据的转换。 主要方法 :

  • convert(ArticleDO bean) :
    • 作用 :将 ArticleDO 对象转换为 QueryIndexArticlePageItemRspVO 对象。
    • 功能 :
      • 将 ArticleDO 中的 createTime 字段格式化为指定日期格式。
  • convert2Archive(ArticleDO bean) :
    • 作用 :将 ArticleDO 对象转换为 QueryArchiveItemRspVO 对象。
    • 功能 :
      • 将 ArticleDO 中的 createTime 字段格式化为指定日期格式。
      • 将 ArticleDO 中的 createTime 字段格式化为指定月份格式。
  • formatDate(Date date) :
    • 作用 :将日期格式化为指定格式。
  • formatMonth(Date date) :
    • 作用 :将日期格式化为指定月份格式。 作用 :通过转换类封装文章数据的转换逻辑,便于在项目中统一管理文章数据的展示格式。

2. BlogSettingConvert

功能 :处理博客设置数据的转换。 主要方法 :

  • convert(BlogSettingDO bean) :
    • 作用 :将 BlogSettingDO 对象转换为 QueryBlogSettingRspVO 对象。 作用 :通过转换类封装博客设置数据的转换逻辑,便于在项目中统一管理博客设置数据的展示格式。

总结

convert 包中的类主要用于将一种数据类型转换为另一种数据类型,例如文章数据、博客设置数据等。通过转换类封装这些逻辑,便于在项目中统一管理数据的展示格式,提高代码的复用性和可维护性。

dao 包

在 dao 包中,主要包含与 数据访问 相关的类,用于处理与数据库的交互操作。以下是这些类的详细说明:

1. ArticleDao

功能 :处理文章相关的数据库操作。 主要方法 :

  • queryArticlePageList(long current, long size) :查询文章分页数据。
  • selectArticleById(Long articleId) :根据文章 ID 查询文章详情。
  • selectPreArticle(Long articleId) :查询上一篇文章。
  • selectNextArticle(Long articleId) :查询下一篇文章。
  • queryArticlePageListByArticleIds(Long current, Long size, List articleIds) :根据文章 ID 列表查询文章分页数据。 作用 :通过数据访问类封装文章相关的数据库操作,便于在业务逻辑中调用。

2. ArticleContentDao

功能 :处理文章内容相关的数据库操作。 主要方法 :

  • selectArticleContentByArticleId(Long articleId) :根据文章 ID 查询文章内容。 作用 :通过数据访问类封装文章内容相关的数据库操作,便于在业务逻辑中调用。

3. ArticleCategoryRelDao

功能 :处理文章与分类关系相关的数据库操作。 主要方法 :

  • selectByArticleIds(List articleIds) :根据文章 ID 列表查询文章与分类关系。
  • selectByCategoryId(Long categoryId) :根据分类 ID 查询文章与分类关系。
  • selectByArticleId(Long articleId) :根据文章 ID 查询文章与分类关系。 作用 :通过数据访问类封装文章与分类关系相关的数据库操作,便于在业务逻辑中调用。

4. ArticleTagRelDao

功能 :处理文章与标签关系相关的数据库操作。 主要方法 :

  • selectByArticleIds(List articleIds) :根据文章 ID 列表查询文章与标签关系。
  • selectByTagId(Long tagId) :根据标签 ID 查询文章与标签关系。
  • selectByArticleId(Long articleId) :根据文章 ID 查询文章与标签关系。 作用 :通过数据访问类封装文章与标签关系相关的数据库操作,便于在业务逻辑中调用。

5. CategoryDao

功能 :处理分类相关的数据库操作。 主要方法 :

  • selectAllCategory() :查询所有分类数据。
  • selectByCategoryId(Long categoryId) :根据分类 ID 查询分类详情。 作用 :通过数据访问类封装分类相关的数据库操作,便于在业务逻辑中调用。

6. TagDao

功能 :处理标签相关的数据库操作。 主要方法 :

  • selectAllTag() :查询所有标签数据。
  • selectByTagIds(List tagIds) :根据标签 ID 列表查询标签数据。 作用 :通过数据访问类封装标签相关的数据库操作,便于在业务逻辑中调用。

总结

dao 包中的类主要用于处理与数据库的交互操作,例如文章、文章内容、文章与分类关系、文章与标签关系、分类、标签等。通过数据访问类封装这些逻辑,便于在业务逻辑中调用,提高代码的复用性和可维护性。

model 包

在 model 包中,主要包含与 数据模型 相关的类,用于定义请求和响应的数据结构。以下是这些类的详细说明:

1. Article

功能 :定义与文章相关的请求和响应数据结构。 主要类 :

  • QueryArticleDetailReqVO :查询文章详情的请求对象。
    • 属性 :
      • articleId :文章 ID。
  • QueryArticleDetailRspVO :查询文章详情的响应对象。
    • 属性 :
      • title :文章标题。
      • content :文章内容。
      • categoryId :文章分类 ID。
      • tags :文章标签列表。
      • preArticle :上一篇文章。
      • nextArticle :下一篇文章。
  • QueryIndexArticlePageListReqVO :查询首页文章分页数据的请求对象。
    • 属性 :
      • current :当前页码。
      • size :每页大小。
  • QueryIndexArticlePageItemRspVO :查询首页文章分页数据的响应对象。
    • 属性 :
      • id :文章 ID。
      • title :文章标题。
      • createTime :创建时间。
      • category :文章分类。
      • tags :文章标签列表。 作用 :通过数据模型封装文章相关的请求和响应数据,便于在业务逻辑中处理文章的增删改查操作。

2. Archive

功能 :定义与文章归档相关的请求和响应数据结构。 主要类 :

  • QueryArchivePageListReqVO :查询文章归档分页数据的请求对象。
    • 属性 :
      • current :当前页码。
      • size :每页大小。
  • QueryArchivePageListRspVO :查询文章归档分页数据的响应对象。
    • 属性 :
      • month :归档月份。
      • articles :文章列表。
  • QueryArchiveItemRspVO :查询文章归档项的响应对象。
    • 属性 :
      • id :文章 ID。
      • title :文章标题。
      • createMonth :创建月份。
      • createTime :创建时间。 作用 :通过数据模型封装文章归档相关的请求和响应数据,便于在业务逻辑中处理文章归档的展示逻辑。

3. Category

功能 :定义与分类相关的请求和响应数据结构。 主要类 :

  • QueryCategoryListItemRspVO :查询分类列表项的响应对象。
    • 属性 :
      • id :分类 ID。
      • name :分类名称。 作用 :通过数据模型封装分类相关的请求和响应数据,便于在业务逻辑中处理分类的展示逻辑。

4. Tag

功能 :定义与标签相关的请求和响应数据结构。 主要类 :

  • QueryTagListItemRspVO :查询标签列表项的响应对象。
    • 属性 :
      • id :标签 ID。
      • name :标签名称。 作用 :通过数据模型封装标签相关的请求和响应数据,便于在业务逻辑中处理标签的展示逻辑。

5. BlogSetting

功能 :定义与博客设置相关的请求和响应数据结构。 主要类 :

  • QueryBlogSettingRspVO :查询博客设置详情的响应对象。
    • 属性 :
      • blogName :博客名称。
      • author :博客作者。
      • avatar :作者头像。
      • introduction :博客简介。
      • githubHome :GitHub 主页。
      • csdnHome :CSDN 主页。
      • giteeHome :Gitee 主页。
      • zhihuHome :知乎主页。 作用 :通过数据模型封装博客设置相关的请求和响应数据,便于在业务逻辑中处理博客设置的展示逻辑。

总结

model 包中的类主要用于定义请求和响应的数据结构,例如文章、文章归档、分类、标签、博客设置等。通过数据模型封装这些数据结构,便于在业务逻辑中处理数据的传递和展示,提高代码的复用性和可维护性。

service 包

在 service 包中,主要包含与 业务逻辑 相关的类,用于处理具体的业务逻辑。以下是这些类的详细说明:

1. ArticleService

功能 :处理文章相关的业务逻辑。 主要方法 :

  • queryIndexArticlePageList(QueryIndexArticlePageListReqVO queryIndexArticlePageListReqVO) :查询首页文章分页数据。
  • queryCategoryArticlePageList(QueryCategoryArticlePageListReqVO queryCategoryArticlePageListReqVO) :查询分类文章分页数据。
  • queryArticleDetail(QueryArticleDetailReqVO queryArticleDetailReqVO) :查询文章详情。
  • queryTagArticlePageList(QueryTagArticlePageListReqVO queryTagArticlePageListReqVO) :查询标签文章分页数据。 作用 :通过业务逻辑类封装文章相关的业务逻辑,便于在控制器中调用。

2. ArchiveService

功能 :处理文章归档相关的业务逻辑。 主要方法 :

  • queryArchive(QueryArchivePageListReqVO queryArchivePageListReqVO) :查询文章归档列表。 作用 :通过业务逻辑类封装文章归档相关的业务逻辑,便于在控制器中调用。

3. BlogSettingService

功能 :处理博客设置相关的业务逻辑。 主要方法 :

  • queryBlogSettingDetail() :查询博客设置详情。 作用 :通过业务逻辑类封装博客设置相关的业务逻辑,便于在控制器中调用。

4. CategoryService

功能 :处理分类相关的业务逻辑。 主要方法 :

  • queryCategoryList() :查询分类列表。 作用 :通过业务逻辑类封装分类相关的业务逻辑,便于在控制器中调用。

5. TagService

功能 :处理标签相关的业务逻辑。 主要方法 :

  • queryTagList() :查询标签列表。 作用 :通过业务逻辑类封装标签相关的业务逻辑,便于在控制器中调用。

6. IndexService

功能 :处理首页相关的业务逻辑。 主要方法 :

  • home() :返回首页的 HTML 页面。 作用 :通过业务逻辑类封装首页相关的业务逻辑,便于在控制器中调用。

总结

service 包中的类主要用于处理具体的业务逻辑,例如文章、文章归档、博客设置、分类、标签、首页等。通过业务逻辑类封装这些逻辑,便于在控制器中调用,提高代码的复用性和可维护性。

utils 包

在 utils 包中,主要包含与 工具类 相关的类,用于提供一些通用的工具方法。以下是这些类的详细说明:

1. AgentRegionUtils

功能 :处理用户代理和地理区域相关的工具方法。 主要方法 :

  • getRegionByIp(String ip) :根据 IP 地址获取地理区域信息。
  • getUserAgentInfo(HttpServletRequest request) :从 HTTP 请求中获取用户代理信息。 作用 :通过工具类封装用户代理和地理区域相关的工具方法,便于在业务逻辑中调用。

2. ResultUtil

功能 :处理结果封装相关的工具方法。 主要方法 :

  • success(Object data) :封装成功的响应结果。
  • fail(String message) :封装失败的响应结果。 作用 :通过工具类封装结果相关的工具方法,便于在业务逻辑中统一处理响应结果。

3. MarkdownUtil

功能 :处理 Markdown 格式转换相关的工具方法。 主要方法 :

  • toHtml(String markdown) :将 Markdown 格式的文本转换为 HTML。
  • toMarkdown(String html) :将 HTML 格式的文本转换为 Markdown。 作用 :通过工具类封装 Markdown 格式转换相关的工具方法,便于在业务逻辑中调用。

4. MinioUtil

功能 :处理 MinIO 文件存储相关的工具方法。 主要方法 :

  • uploadFile(String bucketName, String objectName, InputStream inputStream) :上传文件到 MinIO。
  • downloadFile(String bucketName, String objectName) :从 MinIO 下载文件。
  • deleteFile(String bucketName, String objectName) :从 MinIO 删除文件。 作用 :通过工具类封装 MinIO 文件存储相关的工具方法,便于在业务逻辑中调用。

总结

utils 包中的类主要用于提供一些通用的工具方法,例如用户代理和地理区域、结果封装、Markdown 格式转换、MinIO 文件存储等。通过工具类封装这些方法,便于在业务逻辑中调用,提高代码的复用性和可维护性。

相关推荐
xin497几秒前
Calcite 如何通过 SQL 来查询不同数据源? 有性能问题吗?
后端·源码
编程乐趣1 分钟前
MahApps.Metro:专为 WPF 应用程序设计的 UI 框架
后端
Piper蛋窝5 分钟前
Go 1.7 相比 Go 1.6 有哪些值得注意的改动?
后端·go
张哈大6 分钟前
《苍穹外卖Day2:大一菜鸟的代码升空纪实》
后端
一介输生6 分钟前
Spring Cloud实现权限管理(网关+jwt版)
java·后端
AI_Infra智塔7 分钟前
ZStack文档DevOps平台建设实践
后端
雪糕223 分钟前
@EnableAutoConfiguration注解解析过程
后端
shark_chili28 分钟前
mini-redis复刻Redis的INCR指令
后端
友恒写实28 分钟前
Python面试官:你来解释一下协程的实现原理
后端·python
vocal29 分钟前
MCP:LLM与知识库之间的通信协议—(1)初认知
后端