Skip to content

Zewang0217/myBlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyBlog

效果展示:

blog1

blog2

blog3

blog4

blog5


myBlog - 个人博客项目

项目简介

这是一个基于Spring Boot开发的个人博客管理系统,具备完整的CRUD功能。该项目展示了我对Java Web开发核心技术的理解和实践能力,包括Spring Boot、MyBatis、Thymeleaf等主流框架的应用。

技术栈

后端技术

  • Spring Boot - 核心框架,简化配置和部署
  • MyBatis - 数据持久层框架,通过XML映射实现数据库操作
  • MySQL - 关系型数据库,存储文章数据
  • Lombok - 减少样板代码,提高开发效率
  • Jakarta Validation - 数据校验,保证数据完整性
  • Maven - 项目构建和依赖管理工具

前端技术

  • Thymeleaf - 服务端模板引擎,渲染动态页面
  • HTML/CSS/JavaScript - 页面结构、样式和交互
  • Font Awesome - 图标库,提升界面美观度

架构设计

  • MVC架构模式 - 分离关注点,提高代码可维护性
  • 分层架构 - Controller、Service、DAO三层架构
  • RESTful API设计风格 - 清晰的URL设计规范

功能特性

已实现功能

  1. 文章管理:

  2. 数据验证:

    • 使用 CreateArticleDTO 和 Jakarta Validation 进行表单数据校验
    • 前端友好的错误提示机制
  3. 用户体验优化:

    • 响应式设计,适配移动端
    • 美观的UI界面设计
    • Flash消息提示(成功/错误提示)

核心代码亮点

// Controller层采用函数式编程处理Optional结果
@GetMapping("/{id}")
public String viewArticle(@PathVariable("id") Long id, Model model) {
    return articleService.getById(id)
        .map(article -> {
            model.addAttribute("article", article);
            return "admin/article/detail";
        })
        .orElseGet(() -> {
            model.addAttribute("msg", "文章不存在或已被删除");
            return "admin/article/not_exists_error";
        });
}

项目优势

1. 规范化的代码结构

  • 严格按照分层架构组织代码,层次清晰
  • 使用Lombok减少冗余代码,提高开发效率
  • 统一的命名规范和代码风格

2. 完整的异常处理机制

  • 全局异常捕获和友好的错误页面展示
  • 数据验证和业务逻辑异常处理分离

3. 良好的扩展性设计

4. 现代化的前端体验

  • 使用现代CSS特性实现响应式布局
  • 丰富的交互效果和视觉反馈

待改进点

1. 功能完善

  • 用户认证和权限管理
  • 文章分类和标签功能
  • 评论系统
  • 文件上传和图片管理
  • 搜索功能

2. 技术升级

  • 引入Spring Security实现安全控制
  • 使用Redis缓存热点数据
  • 前后端分离改造(Vue/React + REST API)
  • 单元测试和集成测试覆盖

3. 性能优化

  • 数据库查询优化(分页、索引等)
  • 页面静态化处理
  • CDN加速静态资源加载

4. 部署运维

  • Docker容器化部署
  • CI/CD流水线建设
  • 监控和日志系统集成

项目运行

环境要求

  • JDK 17+
  • MySQL 8.0+
  • Maven 3.6+

配置说明

  1. 创建数据库:CREATE DATABASE blog;

  2. 创建用户并授权:

    CREATE USER 'blog_user'@'localhost' IDENTIFIED BY 'Blog123!@#';
    GRANT ALL PRIVILEGES ON blog.* TO 'blog_user'@'localhost';
  3. 初始化表结构(参考 ArticleMapper.xml 中的SQL语句)

启动方式

mvn spring-boot:run

访问地址:http://localhost:8080

总结

本项目充分体现了我在Java Web开发方面的技术能力和工程实践经验。通过合理的架构设计和现代化的技术选型,实现了功能完整且具有良好用户体验的博客系统。未来将持续优化和完善,打造成一个生产级别的博客平台。

About

一个基于java的博客项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors