首页 > 其他分享 >社区论坛项目

社区论坛项目

时间:2022-12-28 16:33:49浏览次数:61  
标签:功能 框架 项目 Spring 通过 社区论坛 登陆 IoC

本项目的目标是为了熟悉Java开发的主流技术,涉及的技术栈有:Spring,Mybatis,Redis,Kafka,ElasticSearch。涉及到Java开发框架,ORM框架,缓存,消息队列,搜索引擎,整个技术栈还是比较全面的,所以对学习非常有帮助。

我们使用Spring框架帮助我们简化开发,Spring的核心技术是IoC(Inversation of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程),IoC是通过将对象的初始化和销毁交给容器来管理,IoC是一种思想,是通过DI(Dependency Injection,依赖注入)来实现的,由容器将对象动态的注入到另一个对象中,从而实现控制反转的功能,也就是说为了实现IoC,需要该对象的时候由框架DI即可。AOP切面就是在一个时间点加入自己所期望的功能。前后端的交互技术是SpringMVC,MVC是指Model,View,Controller,是一种软件架构模式。SpringMVC是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象包装结果,分派器来展示请求结果视图。而请求结果视图的动态渲染就是通过Themeleaf技术来实现的。在数据访问与持久化方面使用的Mybatis框架,他负责简化访问数据库MySQL的代码,通过XML配置和映射数据类型,接口和POJO为数据库中记录。SpringBoot(SpringBoot官方文档:Spring Boot Reference Documentation)中已经内置了很多特定版本的jar包,如果自己需要添加另外类库功能,可以通过Maven的pom.xml文件进行管理(Mybatis官方文档:mybatis – MyBatis 3 | 简介)。SpringBoot的功能配置是通过application.properties进行统一的管理。我们通过内置的logback日志框架对不同的日志级别进行分类存储,logback的功能配置是通过logback-spring.xml进行统一配置的,通过private static final Logger logger = LoggerFactory.getLogger(类.class)进行显式声明。然后还有一个问题就是版本控制,最常用的是Git分布式版本管理工具,常用的指令很简单:添加下载用add,commit,push,clone,pull命令,版本回退用reset,revert命令,创建切换分支用brand,switch命令,冲突合并用rebase命令。

注册登陆退出账号设置功能

注册功能分为三步,第一访问注册页面,第二提交注册数据(服务端检查账号邮箱是否已经被注册,发送激活邮件)。登陆功能检查登陆信息,在cookie中存储登陆凭证。退出功能将用户的状态标志修改即可。登陆成功后应修改主页显示的登陆状态,这是通过拦截器来实现的,每次请求的时候都会进行对用户的cookie查询其登陆凭证,若该登陆凭证有效,则主页显示登陆信息。如果想修改账号的信息,可以通过设置页面对用户的头像密码进行修改。

发布帖子与详情

字典树完成敏感词过滤:通过Tries树来实现的敏感词过滤,也可以使用AC自动机来实现,实际上已经有很多很成熟的框架能够高效的实现该功能,比如ToolGood.Words框架,基于AC自动机的优化。

添加评论

这里要添加一个事务管理,定义好事务的隔离级别和传播机制。

私信列表

处理好私信列表的功能,多少未读消息,点击私信信息后的消息列表。

统一处理异常

 固定格式,@ExceptionHandler({Exception.class})统一处理异常。

Redis

Kafka

ElasticSearch

安全高效的企业服务

项目部署

标签:功能,框架,项目,Spring,通过,社区论坛,登陆,IoC
From: https://www.cnblogs.com/RQfreefly/p/17009032.html

相关文章

  • 基于图形化界面的方式创建vue2项目
    前提是安装vue-clinpmi-g@vue/cli接下来使用vueui创建vue项目vueui浏览器自动打开点击创建,然后去到你想把创建的项目放到的位置如果到不了那个位置,就......
  • 干货来袭,推荐几款开源的Kotlin的Android项目
    GoogleIO大会,谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言。刷新Android的各大论坛,朋友圈,微信群。是时候总结一波Kotlin的Android项目了!废话不多说,直接上项目,别忘了st......
  • 项目知识点
    1.input中的placeholder属性placeholder属性提供可描述输入字段预期值的提示信息(hint)。该提示会在输入字段为空时显示,并会在字段获得焦点时消失。2.两个按钮间想要有间......
  • 新建项目后maven中的Plugins爆红
    刚新建的一个maven项目,啥也没干,居然就一堆爆红。所以首先定位问题——配置出错!检查IntelliJIDEA中的maven配置  发现没有问题,所以可以进一步定位问题:本地maven配置......
  • 《Flowable流程引擎从零到壹》Flowable流程引擎介绍和实战项目初始化流程引擎实例
    ❤️作者主页:​​小虚竹​​❤️作者简介:大家好,我是小虚竹。Java领域优质创作者......
  • tomcat7运行springboot war包项目启动报错
    报错的log如下:2022-12-2801:11:22.701WARN39756---[localhost-startStop-1]ConfigServletWebServerApplicationContext:Exceptionencounteredduringcontext......
  • 预测型项目管理-4-项目整合管理Ⅰ
    ★★项目整合管理包括对隶属于项目管理过程组的各种过程和项目管理活动进行识别、定义、组合、统一和协调的各个过程。★有效的项目整合通常需要强调对主要交接点进行有效......
  • asp.net下开源项目
    别人收集的开源网站,我来做个总结和整理: 1asp.net下开源项目      2asp.net开源项目3一些asp.netmvc开源项目   4【原】开源项目asp.net     作者:......
  • 预测型项目管理-4-项目整合管理Ⅱ
    4.2制定项目管理计划(规划)❤❤❤★制定项目管理计划是定义、准备和协调项目计划的所有组成部分,并把它们整合为一份综合项目管理计划的过程。主要作用是,生成一份综合文件,用于......
  • Egg(一)初始化项目
    egg官网1.创建目录并进入egg-example表示创建的项目目录名称,可根据需要随意修改mkdiregg-example&&cdegg-example2.初始化项目一路回车即可npminit......