- 博客(520)
- 资源 (15)
- 收藏
- 关注
原创 外卖项目优化-01-redis缓存短信验证码、菜品数据、Spring Cache(注解开发缓存)、(注解开发)缓存套餐数据
1). 当前系统存在的问题之前我们已经实现了移动端菜品展示、点餐、购物车、下单等功能,但是由于移动端是面向所有的消费者的,请求压力相对比较大,而我们当前所有的数据查询都是从数据库MySQL中直接查询的,那么可能就存在如下问题:频繁访问数据库,数据库访问压力大,系统性能下降,用户体验较差。2). 解决该问题的方法要解决我们上述提到的问题,就可以使用我们前面学习的一个技术:Redis,通过Redis来做缓存,从而降低数据库的访问压力,提高系统的访问性能,从而提升用户体验。
2023-04-28 22:36:09 1526 1
原创 Redis-01-基础-redis简介安装、数据类型、常用命令、使用Spring Data Redis封装好的命令方法操作redis
Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「RemoteDictionaryService」的首字母缩写,也就是「远程字典服务」。基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛。
2023-04-27 23:18:29 643
原创 linux-02-软件安装-centos7配置jdk、tomcat、mysql、lrzsz、项目部署(Git、Maven)、shell脚本自动从git仓库获取项目更新★
下面所有的cd命令得配合 上面的 alias 使用lsJdklsTomcatlsTrashtoCmdtoJdktoTomcattoTrashvbmrmif test $# -eq 0 then echo "rm命令至少需要一个参数-文件名或文件夹名!!= 0 ] then echo echo " $1 删除失败!" echo "参考:" echo " 1.请确保文件存在!" echo " 2.权限问题请改用srm命令!" exit 1 fi echo " $1 已放入回收站!
2023-04-26 16:05:06 459
原创 linux-01-基础回顾-虚拟机安装linux(centos7)、linux常用命令
Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天所学习的Linux也是一款操作系统。不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。接下来,这几个领域中,代表性的操作系统是那些?1). 桌面操作系统操作系统特点Windows用户数量最多MacOS操作体验好,办公人士首选Linux用户数量少(桌面操作系统,Linux使用较少)2). 服务器操作系统。
2023-04-22 19:38:33 616
原创 Git 分布式版本控制工具
Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。在IDEA开发工具中可以集成Git(后面会讲解Git安装和集成过程):可以通过启动两个IDEA窗口模拟两个开发人员来展示Git的使用:SVNCVSVSSGit 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。
2023-04-20 23:01:28 630
原创 java面经01-基础篇-排序算法、ArrayList、Iterator、LinkedList、HashMap、单例模式
(capacity-1) 其实也是映射到 0~(capacity-1) 【因为capacity-1高位全部是0,&之后不会比capacity-1大,最最大也就是全1的二进制和capacity-1的二进制相与,最大也就是capacity-1】但是肯定有缺点,还记得否学数据结构Hash表时,数组容量(或者说mod的那个值)应该选取一个质数的,这样分布是最均匀的。使用二分法在序列 1,4,6,7,15,33,39,50,64,78,75,81,89,96 中查找元素 81 时,需要经过( )次比较。
2023-04-18 18:06:34 404
原创 SSM实战-外卖项目-06-用户地址簿功能、菜品展示、购物车、下单(一个业务涉及5张表)
属性修改驼峰命名: userId、provinceCode、provinceName、cityCode、cityName、districtCode、districtName、isDefault、createTime、updateTime、createUser、updateUser、isDeleted。对于这一类的单表的增删改查,我们已经写过很多了,基本的开发思路都是一样的,那么本小节的用户地址簿管理的增删改查功能,我们就不再一一实现了,基本的代码我们都已经提供了,直接导入进来,做一个测试即可。
2023-04-13 22:37:08 943
原创 SSM实战-外卖项目-05- 新增套餐(多表DML,事务,DTO)、分页查询(多表,DTO)、批量删除(先停售,多表delete(中间表))、修改(多表回显)、批量启售/停售。【短信发送、短信登陆】
在项目中,如果我们要实现短信发送功能,我们无需自己实现,也无需和运营商直接对接,只需要调用第三方提供的短信服务即可。目前市面上有很多第三方提供的短信服务,这些第三方短信服务会和各个运营商(移动、联通、电信)对接,我们只需要注册成为会员,并且按照提供的开发文档进行调用就可以发送短信。需要说明的是,这些短信服务一般都是收费服务。常用短信服务:阿里云华为云腾讯云京东梦网乐信本项目在选择短信服务的第三方服务提供商时,选择的是阿里云短信服务。
2023-04-13 22:08:35 613
原创 SSM实战-外卖项目-04-文件上传(vue组件)下载(transferTo())、菜品新增(多表、DTO实体模型、事务)、菜品分页查询(多表&DTO、BeanUtils)、菜品修改(口味先删再加)
文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。表单属性取值说明methodpost必须选择post方式提交enctype采用multipart格式上传文件typefile使用input的file控件上传1). 简单html页面表单。
2023-04-07 13:04:37 484
原创 SSM实战-外卖项目-03-公共字段自动填充(实现MP的接口方法,再把类给IOC)、新增分类、分类信息分页查询、删除分类(后台实现外键约束,抛自定义异常+统一异常处理 重写)、修改分类(前端实现回显)
之前全局异常处理仅仅只是处理了。
2023-04-06 18:55:43 2036
原创 SSM实战-外卖项目-02-新增员工(全局异常处理)、分页查询(分页拦截器,:current-page.sync)、 启用/禁用(mvc消息转换器增强)、编辑修改(回显+更新 查两次)
自定义一个过滤器 LoginCheckFilter 并实现 Filter 接口, 在doFilter方法中完成校验的逻辑。那么接下来, 我们就根据上述分析的步骤, 来完成具体的功能代码实现:其实就是javaWeb基础的过滤器,也就是Servlet提供的很原生的过滤器:
2023-04-04 23:41:50 273
原创 SSM实战-外卖项目-01-软件开发流程简介、项目整体介绍、技术选型、功能架构、角色、环境搭建(数据库,静态资源(直接放static或者写映射));登录(md5加密),退出,vue页面
作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从 软件开发流程、角色分工、软件环境 三个方面,来整体上介绍一下软件开发。在开发外卖这个项目之前,我们需要全方位的来介绍一下当前我们学习的这个项目。接下来,我们将从以下的五个方面, 来介绍外卖这个项目。本项目(外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括 系统管理后台 和 移动端应用 两部分。
2023-04-02 19:18:56 986
原创 03-MyBatisPlus-BaseDao、lombok、分页插件、开启日志、java代码直接指定查询条件、查询投影(部分字段)、查询API地址、类-表映射、逻辑删除、乐观锁、代码生成器(★)
MyBatisPlus简称MPMyBatisPlus环境搭建的步骤?先创建空白Project作为容器,mybatisplus所有工程都创建成其下面的子module直接创建boot工程②:选择当前模块需要使用的技术集(仅保留JDBC)勾选功能:pom.xml里注意事项1:由于MP(MybatisPlus)并未被收录到idea的系统内置配置,无法直接选择加入注意事项2:如果使用Druid数据源,需要导入对应坐标(类名与表名对应,属性名与字段名对应)pom.xml里导入lombok⑤:设置J
2023-03-30 22:18:47 652
原创 02-Maven高级-分模块开发、依赖传递、聚合、继承(SpringBoot的部分底层原理)、多模块开发(环境切换)、Nexus私服搭建与使用
学习目标 理解分模块开发的意义 能够使用聚合工程快速构建项目 能够使用继承简化项目配置 能够根据需求配置生产、开发、测试环境,并在各环境间切换运行一、分模块开发与设计1. 分模块开发的意义问题导入分模块开发对工程有什么好处?模块拆分原则目的:项目的扩展性变强了,方便其他项目引用相同的功能。将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享一个团队专门开发一个模块,开发好后给别人调用即可2. 分模块开发(模块拆分)问题导入一个完整的工程依据什么来进行
2023-03-28 16:34:09 968
原创 springBoot
文章目录学习目标一、SpringBoot简介1. 入门案例问题导入1.1 入门案例开发步骤1.2 基于SpringBoot官网创建项目1.3 SpringBoot项目快速启动2. SpringBoot概述问题导入2.1 起步依赖2.2 辅助功能二、基础配置1. 配置文件格式问题导入1.0 初始环境1.1 修改服务器端口1.2 自动提示功能消失解决方案1.3 SpringBoot配置文件加载顺序(了解)2. yaml问题导入2.1 yaml语法规则2.2 yaml数组数据2.3 yaml数据读取3. 多环境开
2023-03-24 22:48:15 756
原创 springMVC02-SSM整合(Result统一响应数据格式、异常页面修改、SSM整合vue-elementUI小案例、SpringMVC的拦截器Interceptor)
controller包下新建类// 加一个双参 public Result(Object data , Integer code) {} }Result类中的字段并不是固定的,可以根据需要自行增减程序开发过程中不可避免的会遇到异常现象,我们不能让用户看到这样的页面数据出现异常现象的常见位置与常见诱因如下:框架内部抛出的异常:因使用不合规导致数据层抛出的异常:因外部服务器故障导致(例如:服务器访问超时)
2023-03-23 17:37:25 909
原创 springMVC01-入门、SpringMVC配置类、@RequestMapping、 @ResponseBody、JSON、PostMan工具、五种类型参数传递、RESTful风格
SpringMVC框架有什么优点?SpringMVC是一种基于Java实现MVC模型的轻量级Web框架优点使用简单,开发便捷(相比于Servlet)灵活性强//定义表现层控制器bean @Controller public class UserController {
2023-03-22 22:59:23 655
原创 Spring03-AOP(动态代理模式,环绕通知,增强方法)、事务
问题1:AOP的作用是什么?问题2:连接点和切入点有什么区别,二者谁的范围大?问题3:请描述什么是切面?AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构OOP(Object Oriented Programming)面向对象编程作用:在不惊动原始设计的基础上为其进行功能增强。简单的说就是在不改变方法源代码的基础上对方法进行功能增强。Spring理念:无入侵式/无侵入式。
2023-03-18 22:17:30 1544
原创 Spring02-纯注解开发&整合Mybatis&整合Junit
问题:按照Bean名称获取Bean有什么弊端,按照Bean类型获取Bean有什么弊端?IOC容器总结目的:xml配置Bean对象有些繁琐,使用注解简化Bean对象的定义Spring3.0开启了纯注解开发模式,使用Java类替代配置文件,开启了Spring快速开发赛道Java类代替Spring核心配置文件@Configuration注解用于设定当前类为配置类@ComponentScan注解用于设定扫描路径,此注解只能添加一次,多个数据请用数组格式。
2023-03-18 18:46:04 251
原创 VUE&Element&案例实战
今日目标:接下来我们学习一款前端的框架,就是 VUE。Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。我们之前也学习过后端的框架 , 是用来简化 代码编写的;而 是前端的框架,是用来简化 代码编写的。前一天我们做了一个综合性的案例,里面进行了大量的DOM操作,如下学习了 后,这部分代码我们就不需要再写了。那么 是如何简化 DOM 书写呢?基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。之前我们是将关注点放在
2023-03-15 21:56:03 1111
原创 javaWeb核心05-Filter&Listener&Ajax(Axios)&json
今日目标:Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。Servlet 我们之前都已经学习过了,Filter和Listener 我们今天都会进行学习。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有的资源(servlet、jsp、html等)而在访问到这些资源之前可以使过滤器拦截来下,也就是说在访问资源之前会先经过 Filter,如下图拦截器拦截到后可以做什么功能呢?过滤器一般完成一些通用的操作
2023-03-10 18:19:18 501
原创 javaWeb核心04-Cookie&Session (案例:记住我&图片验证码)
对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理解什么是会话,然后再去理解什么是会话跟踪会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。从浏览器发出请求到服务端响应数据给前端之后,一次会话(在浏览器和服务器之间)就被建立了会话被建立后,如果浏览器或服务端都没有被关闭,则会话就会持续建立着浏览器和服务器就可以继续使用该会话进行请求发送和响应,上述的整个过程就被称之为会话。
2023-03-09 22:51:06 992
原创 javaWeb核心03-JSP、EL、JSTL、MVC
文章目录JSP1,JSP 概述2,JSP 快速入门2.1 搭建环境2.2 导入 JSP 依赖2.3 创建 jsp 页面2.4 编写代码2.5 测试3,JSP 原理4,JSP 脚本4.1 JSP 脚本分类4.2 案例4.2.1 需求4.2.2 实现4.2.3 成品代码4.2.4 测试4.3 JSP 缺点JSP今日目标:理解 JSP 及 JSP 原理能在 JSP中使用 EL表达式 和 JSTL标签理解 MVC模式 和 三层架构能完成品牌数据的增删改查功能1,JSP
2023-03-07 22:26:50 277
原创 javaWeb核心02-Request&Response -(乱码处理、字符流、字节流、虚拟目录、请求转发、重定向)
Request是请求对象,Response是响应对象。这两个对象在我们使用Servlet的时候有看到:此时,我们就需要思考一个问题request和response这两个参数的作用是什么?获取请求数据浏览器会发送HTTP请求到后台服务器[Tomcat]HTTP的请求中会包含很多请求数据[请求行+请求头+请求体]后台服务器[Tomcat]会对HTTP请求中的数据进行解析并把解析结果存入到一个对象中所存入的对象即为request对象,所以我们可以从request对象中获取请求的相关参数。
2023-03-05 21:16:13 368
原创 javaWeb核心01-HTTP&Tomcat&Servlet
Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。在我们日常的生活中,经常会使用浏览器去访问百度京东传智官网等这些网站,这些网站统称为Web网站。如下就是通过浏览器访问淘宝官网的界面:我们知道了什么是Web,那么JavaWeb又是什么呢?顾名思义JavaWeb就是用Java技术来解决相关web互联网领域的技术栈。等学习完JavaWeb之后,同学们就可以使用Java语言开发我们上述所说的网站。而国内很多大型网站公司也是首选Java语言来解决web互联网相关的问题。
2023-03-04 22:40:28 473
原创 02-前端-javaScript
JavaScript 是一门跨平台、面向对象的脚本语言,而Java语言也是跨平台的、面向对象的语言,只不过Java是编译语言,是需要编译成字节码文件才能运行的;JavaScript是脚本语言,不需要编译,由浏览器直接解析并执行。JavaScript 是用来控制网页行为的,它能使网页可交互;那么它可以做什么呢?改变页面内容当我点击上面左图的点击我按钮,按钮上面的文本就改为上面右图内容,这就是js 改变页面内容的功能。修改指定元素的属性值当我们点击上图的开灯按钮,效果就是上面右图效果;当我点击关灯。
2023-03-03 21:32:27 615
原创 01-前端-html&css
HTML 是一门语言,所有的网页都是用HTML 这门语言编写出来的,也就是HTML是用来写网页的,像京东,12306等网站有很多网页。这些都是网页展示出来的效果。而HTML也有专业的解释超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容如上图看到的页面,我们除了能看到一些文字,同时也有大量的图片展示;有些网页也有视频,音频等。这种展示效果超越了文本展示的限制。标记语言:由标签构成的语言。
2023-03-02 22:32:08 497
原创 JDBC-API详解、SQL注入演示、连接池
在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。Statement对象的作用就是用来执行SQL语句。而针对不同类型的SQL语句使用的方法也不一样。执行DDL、DML语句执行DQL语句该方法涉及到了ResultSet对象,而这个对象我们还没有学习,一会再重点讲解。封装了SQL查询语句的结果。ResultSet executeQuery(sql) :执行DQL 语句,返回 ResultSet 对象那么我们就需要从ResultSet。
2023-02-24 22:23:29 900
原创 02-mysql高级-约束(主键,外键,非空,唯一,默认)、设计(一对多,多对多)、多表查询(内连接(显式和隐式),外连接,子查询(嵌套查询))、事务
外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性。如何理解上面的概念呢?如下图有两张表,员工表和部门表:员工表中的dep_id字段是部门表的id字段关联,也就是说1号学生张三属于1号部门研发部的员工。现在我要删除1号部门,就会出现错误的数据(员工表中属于1号部门的数据)。而我们上面说的两张表的关系只是我们认为它们有关系,此时需要通过外键让这两张表产生数据库层面的关系,这样你要删除部门表中的1号部门的数据将无法删除。软件的研发步骤数据库设计概念。
2023-02-22 22:14:04 430
原创 01-MySQL基础-简介&安装&navicat使用&SQL(DDL、DML、(DCL)、DML)
了解了数据模型后,接下来我们就学习SQL语句,通过SQL语句对数据库、表、数据进行增删改查操作。英文:Structured Query Language,简称 SQL结构化查询语言,一门操作关系型数据库的编程语言定义操作所有关系型数据库的统一标准对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案。
2023-02-22 19:48:30 670
原创 mysql的安装&navicat安装
所指的路径中寻找一遍,如果找到了就直接执行,没找到就在当前工作目录找,如果还没找到,就报错。我们添加环境变量的目的就是能够在任意一个黑框直接调用MySQL中的相关程序而不用总是修改工作目录,大大简化了操作。下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 5.7.24的软件本体了(就是一个文件夹),我们可以把它放在你想安装的位置。,回车,稍微等待一会,如果出现没有出现报错信息(如下图)则证明data目录初始化没有问题,此时再查看MySQL目录下已经有data目录生成。
2023-02-21 20:16:51 1014
原创 15-基础加强3-单元测试&日志
JUnit是一个 Java 编程语言的单元测试工具。JUnit 是一个非常重要的测试工具概述程序中的日志可以用来记录程序在运行的时候点点滴滴。并可以进行永久存储。日志与输出语句的区别输出语句日志技术取消日志需要修改代码,灵活性比较差不需要修改代码,灵活性比较好输出位置只能是控制台可以将日志信息写入到文件或者数据库中多线程和业务代码处于一个线程中多线程方式记录日志,不影响业务代码的性能。
2023-02-20 22:30:44 244
原创 15-基础加强2-xml(约束)&枚举&注解
万维网联盟(W3C)万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言HTML(标准通用标记语言下的一个应用)、可扩展标记语言XML(标准通用标记语言下的一个子集)
2023-02-19 17:28:54 377
原创 15-基础加强1-类加载器&反射
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。
2023-02-18 21:40:48 587
原创 Python重要语法回顾-2-流程控制(顺序、选择、循环)、函数、包、异常、文件操作、类、时间
类 (需要用到简单类的概念)class HzaError(ValueError) : pass # 自定义了一个异常类 继承自ValueError cur_list = [ 'han' , 'zhu' , 'an' ] while True : cur_input = input() if cur_input not in cur_list : raise HzaError('Invalid input: %s' % cur_input)hanHAN。.........
2022-08-27 08:40:38 519
原创 Python重要语法回顾-1-基础、字符串、索引、List、dict、集合、赋值机制
从 Jupyter Notebook 角度看a = 3helloworldprint(a)3查看当前目录。
2022-08-26 23:48:26 220
windows下快捷键新建.txt文本文件.zip
2019-10-04
JavaEE全套API新版.zip
2019-07-17
download.zip,SSH写的网页版的上传下载
2019-07-08
crm系统 SSH框架实现
2019-07-08
串口通信 计算机网络实验 MFC
2019-03-22
JavaEE全套API
2018-10-21
前端所有API
2018-10-21
java坦克大战
2018-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人