美文网首页Java 杂谈SpringFramework
Spring MVC+Stomp+Security+H2 Jet

Spring MVC+Stomp+Security+H2 Jet

作者: 神易风 | 来源:发表于2019-02-22 17:31 被阅读1次

这一个什么项目

使用技术
  • Spring MVC

  • Spring Security

  • Spring webflux

  • Spring stomp

  • Jetty 嵌入式运行

  • H2 嵌入式数据库

  • Spring Security OAuth2 Client

  • ActiveMQ

实现功能

  • 用户使用Stomp 协议发送,接收信息

  • 用户账号注册,账号密码登陆认证

  • 单用户登陆控制

  • github,google 授权登陆

  • 实时接收,发送信息,用户实时在线列表

  • API 接口访问权限控制

  • 订阅频道信息权限控制

  • 既可以使用模板技术页面,可以使用前端分离的方式,可以自由选择

因为这个项目使用Jetty作为嵌入式Servlet 容器,可以像Spring Boot 使用main方法直接运行项目,一句话概括 一个使用Spring MVC项目就像Spring Boot一样运行,一样部署。如果你只想单纯使用Spring MVC构建项目,但是像和Spring Boot直接编译成一个jar运行,又可以忍受没有修改自动编译重启,可以了解这个Demo。

在逐步开发过程中,发现自己需求,用户使用,页面样式,做得都不是很好。希望很和牛逼的人合作,一齐完善这个项目,能让它变成可以使用的产品。自己也可以在此不断学习,不断累计新的知识,慢慢变强起来。如果有人想加入我,这个项目里的三个邮箱都是我的账户,随时可以给我email,

github

为什么选用Spring MVC

其实这种Spring Stomp+Spring Security 项目网上有很多,大多数都是用Spring Boot构建,很少有用MVC的。其实这几年很多新出技术demo大多数都是用Spring Boot构建,Spring Boot借助简洁的配置,大量自动化注入深得开发者喜爱,抢夺Spirng MVC市场。但是,再学习前提下,我特别喜欢用Spring MVC,可以深入了解每一个技术细节,每引入一个新东西,都需要了解怎么合并到Spring框架中。我一开始做的时候就直接选择Spring MVC,当我想去网上搜索一些参照例子,发现少得可惜,也踩了不少坑。如果你看下这个项目代码,你会发现,将pom的依赖换成 Spring Boot,不用改任何代码就可以直接运行了。因为你会发现,这个项目也基本上没有任何xml配置,非常简洁,引入Spring Security等框架也只是加一个注解OK。公司构建一个普通Java Web项目都喜欢用Spring Boot,因为构建非常快,配置少,部署方便,但是使用Spring MVC构建也不差什么,Spring Boot有很多特性都是专门为Spring Cloud使用,单纯用来做Web有点浪费了。很多人还停留在,使用Spring MVC 这些框架就是要引入一大堆xml配置文件,但是我跟你说,自从Spring 3.2 推出后,就可以使用Java Config方式了,现在都更新到了Spring 5了,还在用xml方式构建项目。

项目路径

http://shenyifeng.tk/static/html/jetty-chat.html

chat.png
登录页面
login.png
可以输入自己账户,或者使用github,gmail 授权登录,账户部分信息会保存到h2数据库中,或者去注册账户,初始化了三个账户
ting6405@gmail.com, aojianshop@gmail.com, shenyifeng0xw@gmail.com 密码都是123456
页面使用了bootstrap 为了适应移动端屏幕。
在线列表
image.png
发送信息
image.png
移动端效果
C2F365AD043001A592ED3624BB3DF620.png

其他的功能我就不展示了,有兴趣可以直接到 http://shenyifeng.tk/static/html/jetty-chat.html 查看

代码就在
https://github.com/xiaowu6666/spring-stomp-security-webflux-embedded-jetty

相关文章

网友评论

    本文标题:Spring MVC+Stomp+Security+H2 Jet

    本文链接:https://www.haomeiwen.com/subject/mqueyqtx.html