搞七搞八/mall 您所在的位置:网站首页 深圳最大的制冷配件批发市场 搞七搞八/mall

搞七搞八/mall

2023-05-04 01:00| 来源: 网络整理| 查看: 265

前言

很多介绍很难从初学者的角度出发,大部分都只是简单地跑起来截几个图,然后说一下功能就结束了,说实话这样的项目介绍除了让人知道有这个项目之外对如何掌握这个项目并没有什么实质的帮助!

mall-tiny 项目文档完善,但是比较乱,下面是我整理的一些必看的一些文章和对应的一些顺序!由浅入深地学习了这个项目!

1. 总体框架 1.1 mall-tiny数据库er图

在线预览地址

1.2 mall-tiny学习路径 每一个文章整合一个具体的功能,总的代码是在这里:https://github.com/macrozheng/mall-learning,在每一篇文章的末尾也可以看到具体每个小项目的地址! mall整合SpringBoot+MyBatis搭建基本骨架 MyBatis Generator使用过程中踩过的一个坑 mall整合Swagger-UI实现在线API文档 mall整合Redis实现缓存功能 认证授权基础:搞清Authentication,Authorization以及Cookie、Session、Token、OAuth 2、SSO session原理 spring security 视频 spring security 博客 mall整合SpringSecurity和JWT实现认证和授权(一) mall整合SpringSecurity和JWT实现认证和授权(二) 手把手教你搞定权限管理,结合Spring Security实现接口的动态权限控制! 使用Redis+AOP优化权限管理功能,这波操作贼爽! SpringBoot中处理校验逻辑的两种方式,真的很机智! 参数校验 SpringBoot应用中使用AOP记录接口访问日志 前后端分离项目,如何解决跨域问题 前后端分离项目,如何优雅实现文件存储! RabbitMQ博客地址 RabbitMQ视频 mall整合RabbitMQ实现延迟消息 我常用的IDEA插件大公开,个个是精品! Java 8都出那么久了,Stream API了解下? IDEA中的Git操作,看这一篇就够了! Spring/Spring 常用注解总结!安排! 1.3 mall环境部署必看! mall在Linux环境下的部署(基于Docker容器) 2. 结合 这个看地址 开发者必备Docker命令 开发者必备Linux命令 Linux防火墙Firewall和Iptables的使用 1.4 环境安装 idea的lombok插件的安装,无法安装? idea中mybatis插件的安装,Free MyBatis plugin 设置新建类文件的类注释模版 使用idea查看类继承关系 我常用的IDEA插件大公开,个个是精品! idea 查看类的字段和属性:ctrl+F12 查看类的继承关系;ctrl+h 查看方法的具体实现 ctrl+alt+b 在进行源码追踪时,返回上一层ctal+alt+左键 ctrl+alt +t 环绕代码块 ctrl + e 打开最近的文件 2. mall-tiny里面用到的一些知识点 2.1 java基础 面向对象 枚举类的使用 ResultCode 类中枚举类的使用 范型类和范型方法的使用 CommentPage,CommentResult类中范型的使用 String类的使用 非空校验 StringUtils.isEmpty() UmsMemberServiceImpl类 检验字符串a是否以xx开头,使用a.startsWith() 方法 JwtAuthenticationTokenFilter类 StringBuilder类的使用,用来构建字符串 UmsMemberServiceImpl类 不可变类了解:地址 final关键字 快速入门:博客地址 集合 判断list集合是否为空,使用list!= null和list.size()方法 UmsAdminServiceImpl类 集合类判空,使用(hutoos工具包)CollUtil.isEmpty(collection) DynamicAccessDecisionManager类 遍历集合List 使用迭代器 Map tokenMap = new HashMap(); map的使用 UserAdminController类 创建一个指定元素的ArrayList List MENU = Arrays.asList("a","b", "c", "d"); hashmap原理:地址 异常 异常入门:地址 反射 反射入门和反射的一些api:地址 反射的应用: 反射在spring中的使用-->spring ioc的实现原理,spring aop的实现原理(使用的是代理模式,包括动态代理和静态代理,介绍动静态代理地址,介绍aop地址) spring aop中的动态代理可以通过jdk或者cglib实现 两种动态代理的视频教程:地址 代码小案例:地址 注解 注解快速入门地址 自定义注解 FlagValidator类 CacheException 类 其它 函数式编程:地址 2.2 框架的使用 mybatis 更新方法中的updateByPrimaryKeySelective()如何使用 查询 分页查询和模糊查询 list() UserAdminController类 主键查询 selectByPrimaryKey UserAdminController类 增加 插入一条 insert() 直接插入,不管为不为null UserAdminController类 insertSelective() 不为null的才插入 更新 部分主键更新 updateByPrimaryKeySelective() 不为null的才插入 UserAdminController类 updateByPrimaryKey 直接插入 spring 实体对象属性的复制 BeanUtils.copyProperties()方法 UmsAdminServiceImpl类 循环依赖问题 JwtAuthenticationTokenFilter加入Bean AOP AOP快速学习:地址 AOP记录接口访问日志 WebLogAspect类 AOP进行参数校验 BindingResultAspect类,使用了springmvc中的Hibernate Validator框架 参数校验项目示例地址 参数校验地址 spring 对事务的支持?地址 spring 事务失效的情况:地址 IOC Spring中 Bean 的作用域与生命周期:地址 spring注入的几种方式,spring注入的几种注解:地址一 地址二 BeanFactory和ApplicationContext的区别 地址 spring MVC spring mvc 原理(看之前记得温习上面的servlet):地址 关于视图和视图解析器,数据模型model等相关springmvc组件可以参看书籍:Java EE互联网轻量级框架整合开发 SSM框架 springboot

@ConditionalOnBean注解 SecurityConfig类

@PostConstruct注解 DynamicSecurityMetadataSource类

@ConfigurationProperties注解,读取配置文件信息 IgnoreUrlsConfig类

@Component和@Configuration作为配置类的差别

从springboot配置文件中读取常量,使用@value() UmsMemberServiceImpl类

```java @Autowired public void setMyAccessDecisionManager(DynamicAccessDecisionManager dynamicAccessDecisionManager) { super.setAccessDecisionManager(dynamicAccessDecisionManager);}

注意以上的注入方式

全局异常处理

全局跨域处理

rabbitmq 消息中间件 快速入门:博客地址 快速上手项目:地址 视频快速入门:地址 ack手动确认机制 消息认制 1)、如果这个消息收到了,在处理期间,出现了运行时异常,那么此时消息就处于没有被正确处理消息状态即unack;队列中感知到有一个 unack的消息。unack的消息队列会再次尝试把这个消息发给其他消费者。因此可能会造成锁在那里 解决1)、手动ack,A消费者从queue中取消息,如果成功,那么就手动返回一个ack确认;如果认为失败,那就可以手动选择将消息丢弃或者是重回队列;如果不回复,那么消息在queue中的状态就是unack,即使消费者A长时间不回复,queue也不会再发送此条消息到消费者A中。 2)、接口幂等性。在本地维护一个日志表,记录哪些会员哪些商品哪个订单已经减过库存,再来同样的消息 实现延时队列 RabbitMqConfig类 2.3 数据库 redis 快速入门:博客地址 Spring Data Redis 最佳实践!:地址 mysql 索引优化 2.3 servlet和jsp servlet和jsp快速入门:博客地址 视频地址 servlet api继承体系图(servlet中拥有的对象应该是和jsp一模一样的,因为jsp本质就是简易的servlet):地址 servlet分为httpservlet和非httpservlet spring mvc和servlet的简单对比:地址 || 代码示例中,在servlet也可实现mvc模型,jsp就是View,userDao就是Model,servlet就是Controller(springMVC和Strus2也可以) || 三层模型和mvc模型是对项目从不同角度理解的结果,两者区别和联系图:地址1 地址2 地址3 || servlet三层模型小项目示例:地址 servlet的生命周期:地址 web容器和servlet容器的区别:地址 如何维持浏览器和客户端的会话之:session和cookie RequestContextHolder.getRequestAttributes(); //获取当前请求request对象 WebLogAspect类中 拦截器和过滤器 拦截器和过滤器的区别:博客地址 代码地址 2.4 设计模式 JPA、Hibernate、Spring data jpa之间的关系:地址 jap详解:地址 mvc参考:博客地址 aop即面向切面编程(代理设计模式 :Spring AOP 功能的实现):地址 Builder模式:swagger和spring security配置类中使用到了 单例设计模式 : Spring 中的 Bean 默认都是单例的 模板方法模式 : Spring 中 jdbcTemplate、hibernateTemplate 、redisTemplate 等以 Template 结尾的对数据库操作的类,它们就使用到了模板模式。 工厂设计模式 : Spring使用工厂模式通过 BeanFactory、ApplicationContext 创建 bean 对象 适配器模式 :Spring AOP 的增强或通知(Advice)使用到了适配器模式、spring MVC 中也是用到了适配器模式适配Controller。 观察者模式: Spring 事件驱动模型就是观察者模式很经典的一个应用。 spring中用到的设计模式,具体可参看《图解设计模式》 2.5计算机网络 跨域访问问题 此项目在多处对跨域进行了处理,处理的原理是什么? DynamicSecurityFilter 类中 RestfulAccessDeniedHandler 授权失败处理器类中 RestAuthenticationEntryPoint 认证失败处理类中 GlobalCorsConfig 全局跨域配置类 SecurityConfig springsecurity配置类中 2.6 git git commit的规范:地址 git 分支管理:视频地址 2.7 docker dokcer基本命令 :地址 docker安装一些开发环境 :地址 2.8项目部署

maven项目依赖管理:地址

解决多模块项目打包时报错问题:地址

在idea中使用dashboard

服务器容器比如tomcat是用来干嘛的,jar和war的不同在哪里

jar包直接部署的方法:地址

如果想杀掉运行中的jar程序,查看进程命令为:ps aux|grep getCimiss-surf.jar

学习方法

如何学习一门技术?先看大佬的总结文章再下载项目进行实战,再看视频理解项目可以做好笔记。如果想进一步深入那么就要看书学习。

以下内容皆出自Guide哥:常见的内容的重要程度如下: Java基础 +++++ 并发 +++++(大厂必备) JVM +++ 计算机网络 ++++ 数据结构 ++++ 算法 ++++ 数据库 +++++ 分布式缓存 ++++

java基础书籍《java核心技术》用到了再看对应的知识点,可当作工具书看 多线程的简单实用(推荐《Java并发编程之美》或者《实战Java高并发程序设计》)。 《深入理解jvm虚拟机》需要过几遍 如果你想进入大厂的话,我推荐你在学习完Java基础或者多线程之后,就开始每天抽出一点时间来学习算法和数据结构。为了提高自己的编程能力,你也可以坚持刷Leetcode。 学习MySQL 的基本使用,基本的增删改查,SQL命令,索引、存储过程这些都学一下吧! 源码如何看?地址 框架:关于框架,你要做的就是把常用的东西串联起来,知道有这个东西就好。根据自己的实际能力,再对底层的东西进行学习就好。花少量时间在框架使用上,比如你使用 Spring Boot 你知道如何接受请求中的参数、如何处理异常等等内容就好了,框架使用的东西不需要记忆,你知道有这个东西,用的时候不知道的话再查就好了!一般都是面向google编程,这么多东西不可能都记住,你用多了之后会更熟练是真的!花大量时间在数据结构、算法、常用的设计模式以及jvm底层知识以及一些比较重要的框架源码上。 笔记:我平时使用 Trello 记录一些自己想写的文章或者代码,以及一些读者的投稿情况和个人突然冒出来的idea。

经验:地址



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有