推荐几个自己写的Java后端相关的范例项目

这里推荐几个自己写的范例项目,主要采用SSM(Spring+SpringMVC+Mybatis)框架,分布式架构采用的是(dubbo+zookeeper)。范例项目的好处是简单易懂,在架构一个新的项目的时候可以直接当成脚手架来用,方便快速开发,另外项目中涉及到以及未来可能涉及到的知识点都会不断完善。

三个项目是互相发展而来的,依次为(不断完善中):

一、优雅的SSM架构(Spring+SpringMVC+Mybatis)

Github地址:https://github.com/wosyingjun/beauty_ssm

  • Maven
  • Spring(IOC DI AOP 声明式事务处理)
  • SpringMVC(支持Restful风格)
  • Hibernate Validate(参数校验)
  • Mybatis(最少配置方案)
  • Quartz时间调度
  • Redis缓存(ProtoStuff序列化)
  • Redis Sentinel主从高可用方案
  • Redis Cluster集群高可用方案
  • Druid(数据源配置 sql防注入 sql性能监控)
  • 统一的异常处理
  • JSP JSTL JavaScript
  • Sping Shiro权限控制(待完善)

架构图:

二、对"优雅的SSM框架"进行完善(页面分离+nginx负载均衡+tomcat集群)

Github地址:https://github.com/wosyingjun/beauty_ssm_cluster

  • Maven
  • Spring(IOC DI AOP 声明式事务处理)
  • SpringMVC(支持Restful风格)
  • Hibernate Validate(参数校验)
  • Mybatis(最少配置方案)
  • Quartz时间调度
  • 统一的异常处理
  • Redis缓存(ProtoStuff序列化)
  • Redis Sentinel主从高可用方案
  • Redis Cluster集群高可用方案
  • Druid(数据源配置 sql防注入 sql性能监控)
  • 前后端分离(Html替代Jsp)
  • Nginx静态加载、负载均衡
  • 基于keepalived的nginx高可用方案
  • Tomcat集群(Redis共享Session)
  • Sping Shiro权限控制(待完善)

架构图:

三、将"优雅的SSM框架"拆分为分布式架构(基于dubbo+zookeeper)

Github地址:https://github.com/wosyingjun/beauty_ssm_dubbo

Dubbo的简单介绍和部署:http://wosyingjun.iteye.com/blog/2320127

  • Maven(模块化构建)
  • Spring(IOC DI AOP 声明式事务处理)
  • SpringMVC(支持Restful风格)
  • Hibernate Validate(参数校验)
  • Mybatis(最少配置方案)
  • Quartz时间调度
  • Redis缓存(ProtoStuff序列化)
  • Redis Sentinel主从高可用方案
  • Redis Cluster集群高可用方案
  • 基于keepalived的nginx高可用方案
  • Druid(数据源配置 sql防注入 sql性能监控)
  • Zookeeper高可用集群方案
  • Dubbo+Zookeeper分布式服务框架
  • 合理的分布式服务划分(common+api+service+web+mq)
  • dubbo服务设计原则、集群、负载均衡、线程模型
  • 资源调度和治理中心(SOA)(dubbo-admin)
  • 服务监控方案(dubbo-monitor)
  • 分布式系统中的异常处理
  • 分布式事务
  • 分布式锁(待完善)
  • 消息中间件 ActiveMQ 的引入
  • ActiveMQ 集群高可用方案

架构图:

原文发布于微信公众号 - java工会(javagonghui)

原文发表时间:2018-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏耕耘实录

Linux(Centos7.4和RHEL7.4)环境下基于chrony的NTP服务器的构建

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

631
来自专栏程序猿DD

Spring Boot中使用LDAP来统一管理用户信息

很多时候,我们在构建系统的时候都会自己创建用户管理体系,这对于开发人员来说并不是什么难事,但是当我们需要维护多个不同系统并且相同用户跨系统使用的情况下,如果每个...

5496
来自专栏吴生的专栏

使用Spring AOP实现MySQL数据库读写分离案例分析

分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。

1242
来自专栏青青天空树

springboot配置读写分离

  近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离。这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,...

1093
来自专栏Java Web

MyBatis 与 Spring 整合

MyBatis—Spring 项目 目前大部分的 Java 互联网项目,都是用 Spring MVC + Spring + MyBatis 搭建平台的。 使用 ...

3956
来自专栏Java架构解析

微服务网关Zuul迁移到Spring Cloud Gateway

本文将会介绍将微服务网关由Zuul迁移到Spring Cloud Gateway。

1K0
来自专栏用户2442861的专栏

使用IntelliJ IDEA开发SpringMVC网站(四)用户管理

转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) 。

1151
来自专栏耕耘实录

RHEL7.X系列及周边Linux发行版中,关于MBR与GPT的选择一些思考与建议

存储的选型、规划与管理等工作一直以来都是日常系统运维工作中的重点。MBR与GPT两种类型的分区表的选择与使用则是在磁盘管理中需要根据应用场景来注或考虑的要点。结...

672
来自专栏青玉伏案

JavaEE开发之记事本完整案例(SpringBoot + iOS端)

上篇博客我们聊了《JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎》,并且在之前我们也聊了《Swift3.0服务端开发(五...

1825
来自专栏微信公众号:Java团长

Java Web现代化开发:Spring Boot + Mybatis + Redis二级缓存

Spring-Boot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一。Mybatis是一个十分轻量好用的ORM框架。Red...

1292

扫码关注云+社区