All Projects → littlefishercoder → littlefisher-system

littlefishercoder / littlefisher-system

Licence: other
个人博客

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to littlefisher-system

Student-Information-Administration-System
大学生信息管理系统——初学路上自己摸索实践的项目
Stars: ✭ 91 (+378.95%)
Mutual labels:  maven, mybatis, spring-mvc
wislove
Java 服务端api解决方案,处理部分通用业务逻辑。包括用户中心,支付,订单,IM相关,内容管理,角色权限授权。以及分库分表的处理,RPC分布式的解决方案等。一个人慢慢做
Stars: ✭ 14 (-26.32%)
Mutual labels:  maven, mybatis, spring-mvc
springbook
java8+springMVC4+mybatis编写一个图书管理系统
Stars: ✭ 32 (+68.42%)
Mutual labels:  maven, mybatis, spring-mvc
Ssm Demo
🍌Spring+SpringMVC+Mybatis+easyUI实现简单的后台管理系统
Stars: ✭ 1,639 (+8526.32%)
Mutual labels:  maven, mybatis, spring-mvc
Shopping Management System
该项目为多个小项目的集合(持续更新中...)。内容类似淘宝、京东等网购管理系统以及图书管理、超市管理等系统。目的在于便于Java初级爱好者在学习完某一部分Java知识后有一个合适的项目锻炼、运用所学知识,完善知识体系。适用人群:Java基础到入门的爱好者。
Stars: ✭ 4,130 (+21636.84%)
Mutual labels:  maven, mybatis, spring-mvc
SSMBlogv2
基于 Spring + Springmvc + Mybatis + Bootstrap + w3.css + ajax 的个人响应式博客
Stars: ✭ 26 (+36.84%)
Mutual labels:  mybatis, spring-mvc, pagehelper
JavaEE
🔥⭐️👍框架(SSM/SSH)学习笔记
Stars: ✭ 33 (+73.68%)
Mutual labels:  maven, mybatis, spring-mvc
vacomall
☀️☀️ 基于 dubbo 实现的分布式电商平台。
Stars: ✭ 42 (+121.05%)
Mutual labels:  maven, mybatis, spring-mvc
Highdsa
2018年本科毕设项目,已更新所有开发和部署文档。基于Dubbo、SSM、Shiro、ELK、ActiveMQ、Redis等实现的一套高可用、高性能、高可扩展的分布式系统架构,实现可支持业务的基础公共服务,API使用Restful风格对外暴露。已经实现的包括:发送邮件服务、FastDFS文件存储服务、ELK实时日志查询服务、Redis缓存服务、Mybatis数据库、阿里短信推送、Goeasy消息推送、Druid监控、ActiveMQ消息队列、shiro权限认证、cas单点登录、权限配置web系统、移动端后台系统。持续更新中......
Stars: ✭ 385 (+1926.32%)
Mutual labels:  maven, mybatis, spring-mvc
Ssm booksystem
ssm demo,ssm详细教程,SSM简明教程:简单的十步教你搭建人生第一个SSM框架[ SSM框架整合教程(spring+spring mvc+mybatis+redis+maven+idea+bootstrap) ]
Stars: ✭ 355 (+1768.42%)
Mutual labels:  maven, mybatis, spring-mvc
Ibase4j
Spring,SpringBoot 2.0,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis缓存,Shiro权限管理,Spring-Session单点登录,Quartz分布式集群调度,Restful服务,QQ/微信登录,App token登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel导入导出、FTP/SFTP/fastDFS上传下载、二维码、XML读写、高精度计算、系统配置工具类等等。
Stars: ✭ 1,548 (+8047.37%)
Mutual labels:  maven, mybatis, spring-mvc
IDEAPractice
Java练习 - Java基础知识,面试题,小demo,长期积累 | intellij idea + maven + tomcat
Stars: ✭ 45 (+136.84%)
Mutual labels:  maven, mybatis, spring-mvc
Yan
使用Maven构建,整合Dubbo+Zookeeper+SpringMVC+Spring+MyBatis+Redis支持分布式的高效率便捷开发框架
Stars: ✭ 293 (+1442.11%)
Mutual labels:  maven, mybatis, spring-mvc
Perfect Ssm
🍇更完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis)
Stars: ✭ 606 (+3089.47%)
Mutual labels:  maven, mybatis, spring-mvc
Spring-SpringMVC-MyBatis-Maven
这是平时基于Maven的用于spring整合相关内容的学习demo
Stars: ✭ 74 (+289.47%)
Mutual labels:  maven, mybatis, spring-mvc
Java Course
Self paced course for Java Engineers
Stars: ✭ 103 (+442.11%)
Mutual labels:  maven, spring-mvc
Spring Boot Quick
🌿 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、spring-batch、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等📌
Stars: ✭ 1,819 (+9473.68%)
Mutual labels:  maven, mybatis
Seckill
基于SpringMVC,Spring,MyBatis实现的秒杀系统(参见慕课网,做了些改动)
Stars: ✭ 93 (+389.47%)
Mutual labels:  maven, mybatis
Nimrod
Nimrod - 基于 Spring Boot 构建 的 Java Web 平台企业级单体应用快速开发框架,适合中小型项目的应用和开发。所采用的技术栈包括 Spring Boot、Spring、Spring Web MVC、MyBatis、Thymeleaf 等,遵守阿里巴巴 Java 开发规约,帮助养成良好的编码习惯。整体采用 RBAC ( Role-Based Access Control ,基于角色的访问控制),具有严格的权限控制模块,支持系统与模块分离开发。最后希望这个项目能够对你有所帮助。Nimrod 开发交流群:547252502(QQ 群)
Stars: ✭ 125 (+557.89%)
Mutual labels:  maven, mybatis
Javadevjournal
Source code for the tutorials published on the Javadevjournal site.
Stars: ✭ 141 (+642.11%)
Mutual labels:  maven, spring-mvc

LittleFisher 环境搭建 个人学习

《计算机程序的构造和解释》中写到过
代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已 所以请编写代码时注意代码编写规范,不要一段时间后自己都看不懂自己的代码

构建结果

Build Status

个人博客

http://www.littlefisher.site/ 欢迎博客上评论

Github

欢迎加星!!!

代码分层

代码全都放在code包下

littlefisher-parent 总的父包
-littlefisher-blog-parent 跟博客相关的业务内容
-littlefisher-core-parent 基础服务代码
-littlefisher-spring-boot-autoconfigure 配置application.yml可读的配置信息
-littlefisher-user-parent 跟用户相关的业务内容
-littlefisher-web-parent 包装以上内容,对外提供MVC服务

以littlefisher-user-parent 举例描述分层

littlefisher-user-biz 业务接口描述层
littlefisher-user-biz-impl 业务接口实现层
littlefisher-user-common 公共定义层,包括工具,枚举等
littlefisher-user-dal 数据访问及远程调用接口层
littlefisher-user-dal-impl 数据访问及远程调用实现层
littlefisher-user-deploy 发布层,定义配置文件及打war包

项目搭建路径

http://swaggerui.littlefisher.site/
由于整个工程都是后端内容,所以页面展示的内容仅是一个Swagger测试页面而已

项目介绍

该工程使用SpringBoot搭建,其目的是封装业务底层框架,让开发人员更集中于业务的开发。

  • 该工程使用命令模式进行业务处理,在开发逻辑上屏蔽Service层过于庞大冗余的可能性(不知道是否遇到过某个Service层的类超过7000行的,这种代码的可读性实在是差)。使用命令模式强制拆分不同业务逻辑,避免超长类文件。
  • 使用MyBatis一整套的插件,包括MyBatis 通用MapperXxxMapper.xml无需配置sql,常用sql自动封装使用);MyBatis Generator(自动生成文件,做了改造,包括生成的注释,针对于通用Mapper生成不同的注解,对import做顺序改造,对model生成Builder建造者模式工具类);PageHelperMyBatis的分页插件)
  • 使用Swagger接口测试工具,能够通过页面进行接口测试(针对于Controller层进行测试)
  • 其他的功能还有待大家去探索

技术选型

  • Maven
  • Spring
  • Spring Boot
  • SpringMVC
  • MyBatis
  • MyBatis Generator
  • MyBatis 通用Mapper
  • Swagger3
  • Log4j2
  • MySQL
  • Druid
  • PageHelper
  • Guava
  • 部分功能的二次封装
  • Kafka
  • Gson
  • Oval Validation
  • Apache Shiro
  1. 环境搭建
  • 配置Maven中央仓库:项目目录下有Maven的配置文件settings.xml文件,修改该文件中的本地仓库目录localRepository为自己系统下目录即可
  • IDE导入项目,需要 JDK1.8+
  • 配置Spring Boot启动参数,添加-DSYSTEM_HOME=\PATH\TO\YOUR\SYSTEM_HOMESYSTEM_HOME在项目目录下;或者在系统环境变量中增加SYSTEM_HOME,对应值也是SYSTEM_HOME的系统路径
  1. 开发前请安装相关检查工具,并将pre-commit文件复制到.git\hooks目录下,这样提交时会预先检查一遍代码规范(必须使用Bash命令行才有用)(暂时没有开发)

  2. 使用PMD的配置文件时,lint目录下有2个版本的配置文件,分别对应PMD的不同的2个版本,导入的时候只要有其中一个能用即可,校验的规则是一样的

  3. 所有的业务逻辑都写在对应的Command中,因为业务回滚是针对Command执行的,如果在Command外抛出异常,无法进行回滚

  4. 抛出异常统一使用BaseAppException,同时需要在SYSTEM_HOME/resource/下进行配置,或者抛出异常的时候同时设置message,推荐在SYSTEM_HOME/resource/下进行配置,便于后续的修改

  5. 不论是svn提交还是git(git所需忽略文件已放入.gitignore文件中)提交,统一忽略部分文件,因为这些文件在不同人的PC下,一般都是不一样的,如果提交了,其他人更新代码时容易产生冲突。具体忽略文件请参考.gitignore文件

  6. 目录下各个以.sample结尾的都是样例文件,需要修改文件中部分内容后,同时把名字上的.sample删去

  7. Controller编写要带上Swagger相关注解,以便于接口测试时的阅读

  8. 修改IDE中关于xml的配置,设置每行的最大长度为120Tab替换为2个空格。IDEA中默认使用2个空格替换Tab的,如图为Eclipse中的配置位置 修改xml文件的配置

  9. 集成功能使用与介绍

  • Swagger UI接口测试。启动启动Spring B后,进入http://{ip}:{port}/{contextPath}/swagger-ui.html查看,可以直接在界面中对接口进行测试。其中ip为本机ipportapplication.ymlserver.port所配,默认为8080contextPathapplication.ymlserver.servlet.context-path所配置
  • Druid监控界面,启动Tomcat后,进入http://{ip}:{port}/{contextPath}/druid查看
  • Command日志打印功能集成,每次请求Command都会进行日志的打印 日志信息
  • PageHelper使用。在列表查询之前调用PageHelper.startPage(pageNum, pageSize);,一定要是紧接着列表查询之前。具体PageHelper使用规则,参考github-PageHelper PageHelper
  • Mybatis generator使用。在blog-intf项目下,有一个generatorConfig.xml文件,针对该文件做部分修改,然后执行mybatis generator生成Mapper的命令即可。生成的model已经附带Swagger UI所需注解,同时针对于import信息也进行了优化,可以通过checkstype的检查。生成的Mapper接口,集成了通用的CRUD操作,个性化的接口SQL操作再另外定义即可。具体通用Mapper可参考github-MappergeneratorConfig.xml
  • Guava工具介绍在博客中有介绍
  • Kafka的使用在工程中已经加入,只不过没有大规模使用例子,具体的配置信息参考application.yml配置内容
  • Activiti单独使用了一个模块,暂时没有引入到littlefisher-parent中,因为还没有使用到的地方
  • Oval Validation的校验框架引入在Command中,当代码执行到Command时会进行校验

项目启动

  • littlefisher-parent工程上,执行maven命令mvn clean install -DskipTests
  • blog-web工程上,找到Application类,执行main方法即可
  • 在浏览器中输入http://{ip}:8080/blog-web/swagger_ui.html,即可访问到swaggerUI界面
  • 以上所涉及maven命令皆为完整命令,可根据不同IDE变更部分命令
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].