- 博客(170)
- 资源 (1)
- 收藏
- 关注
原创 Linux中安装JDK、Tomcat以及在Linux中部署war包、jar包
1. 在Linux系统中如何安装JDK在Linux中安装JDK有两种方式:一种是 rpm 方式安装,一种是 tar.gz 方式安装,两种方式选一种就可以。下载JDKhttps://www.oracle.com/technetwork/java/javase/downloads/index.htmlhttps://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html通过CRT|WinSCP工具将jdk上传到li
2022-04-24 17:10:05
3305
2
原创 Linux系统常用命令以及虚拟机中的centos7如何上网
7. Linux系统中常用命令注意: 在使用Linux系统命令时严格区分大小写使用命令语法: 命令 [-选项] [参数] 其中括号里面的内容有时候可以省略7.1 查看目录中文件和目录列表# 查看目录中文件和命令ls . 查看当前目录中文件和目录,其中 . 可以省略不写ls -l 查看当前目录中文件和目录的详细信息ls -a 查看当前目录中的所有文件(包含隐藏文件,隐藏文件都是以 . 开头的)ls -R 递归查看当前目录中的所有文件和子目录ls
2022-04-21 20:33:27
3105
原创 Linux基本介绍、centos7系统的搭建
1.Linux的引言Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。目前Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。2.Linux的诞生
2022-04-20 20:27:08
1950
原创 Redis集群搭建
3. Redis集群Redis解决了数据备份问题Redis解决了故障转移问题Redis集群解决了单节点并发压力问题和单节点内存和磁盘物理上限问题3.1 集群Redis在3.0后开始支持Cluster(集群)模式,目前redis的集群支持节点的自动发现,支持slave-master选举和容错,支持在线分片(sharding shard )等特性。reshard3.2 集群架构图3.3 集群细节- 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽
2022-04-19 18:06:42
680
2
原创 Redis主从复制与哨兵架构搭建
1. 主从复制1.1 主从复制基本介绍主节点用来对外提供服务,从节点用来同步主节点的数据,主节点的数据发生变化时,从节点的数据会立即去同步,从节点并不对外提供服务,从节点仅仅用来对主节点进行数据备份。主从复制仅仅用来解决数据的备份,并不能解决故障转移问题,从节点仅仅用来同步数据。什么叫故障转移呢,故障转移就是当主节点因为某些原因宕机时,从节点可以顶上去对外提供服务。1.2 主从复制架构图Master代表主节点,slave1、slave2代表从节点1.3 搭建主从复制接下来我们来搭建伪分布式,
2022-04-18 21:28:13
1093
原创 Redis应用场景以及分布式缓存的实现
1. Redis应用场景利用 redis 中字符串类型完成 项目中手机验证码存储的实现验证码一般都具有时效性,我们在redis中可以设置一个key的超时时间,当用户在超时时间之内响应时,会与redis中的数据进行对比,验证验证码的正确性当用户在超时时间之外响应,数据在redis中已经被删除,无法进行验证利用 redis 中字符串类型完成 具有时效性业务功能比如说在平常买票或者网上购物的时候, 12306 淘宝订单还有15分钟失效,我们可以将订单信息存入redis,当数据失效时我们可
2022-04-16 22:43:18
2759
原创 Java和SpringBoot操作redis
2. java操作Redis2.1 环境准备引入依赖<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version&g
2022-04-14 22:47:29
2635
原创 Redis的持久化机制
1. 持久化机制Redis的持久化就是把Redis中内存中的数据持久化到硬盘的过程。client redis[内存] -----> 内存数据- 数据持久化–>磁盘Redis官方提供了两种不同的持久化方法来将数据存储到硬盘里面分别是:快照(Snapshot)快照保存的是一个时刻的数据状态AOF (Append Only File) 只追加日志文件AOF 只追加日志文件,将所有redis写命令记录到日志文件中1.1 快照(Snapshot)1.1 特点这种方式
2022-04-13 21:40:12
1261
原创 Redis操作Set、Zset、Hash数据类型以及可视化工具的使用
10.3 Redis操作Set类型特点: Set类型 Set集合 元素无序 不可以重复(如果放入了重复元素,会自动去掉重复元素)key是String类型,value是Set类型(注:Redis中的key都是String类型)1.内存存储模型2.常用操作指令命令说明sadd没有Set时创建,之后向key对应的类型为Set的value添加元素smembers显示key对应的Set集合中所有元素 (无序)scard返回key对应的Set集合中元素的个数sp
2022-04-12 20:57:26
1804
原创 Redis指定配置文件启动、数据库相关指令以及Redis操作String类型、List类型
9. Redis数据库相关指令9.0 redis细节# redis细节1. redis启动服务的细节 注意: 直接使用 ./redis-server 方式启动使用的是redis-server这个shell脚本中的默认配置 2. 如何在启动redis时指定配置文件启动 注意: 默认在redis安装完成之后在安装目录没有任何配置文件,需要在源码目录中复制redis.conf配置文件到 安装目录(/usr/redis) a. 进入源码目录(源码文件在根目录,在根目录下进入源
2022-04-11 23:00:49
5900
原创 NoSQL基本介绍以及VMware虚拟机安装Linux系统、SecureCRT的安装以及Redis的安装
1. NoSQL的引言NoSQL( Not Only SQL ),意即不仅仅是SQL, 泛指非关系型的数据库。Nosql这个技术门类,早期就有人提出,发展至2009年趋势越发高涨。2. 为什么是NoSQL随着互联网网站的兴起,传统的关系数据库在应付动态网站,特别是超大规模和高并发的纯动态网站已经显得力不从心,暴露了很多难以克服的问题。如商城网站中对商品数据频繁查询、对热搜商品的排行统计、订单超时问题、以及微信朋友圈(音频,视频)存储等相关使用传统的关系型数据库实现就显得非常复杂,虽然能实现相应功能但
2022-04-10 23:39:38
2200
原创 CORS跨域资源共享和Jasypt加密
CORS跨域资源共享CORSCORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest(ajax)请求,从而克服了AJAX只能同源使用的限制。同源策略同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。源源[origin]就是协议、域名和端口
2022-03-30 14:56:14
492
原创 SpringBoot中的异常处理
SpringBoot异常处理开发方式有两种一种是传统方式的开发,是基于javaweb方法的开发,将业务代码和view写在一个项目中还有一种是前后端分离开发,前端和后端是分开的,后端只需要写接口就可以毫无疑问,前后端分离开发实现了前端和后端的解耦,相较于传统的开发方式前后端分离开发还有许许多多大的好处,可以想象的是以后一定是前后端分离开发的天下。本篇的SpringBoot中的异常处理机制也会基于传统方式开发和前后端分离开发两种类型进行说明。1.1 传统javaweb开发时的异常处理为
2022-03-29 13:09:53
2827
原创 RestFul简介和使用
2. RestFul简介和使用2.1 RestFul简介REST全称是(Resource) Representational State Transfer,翻译过来为“资源代表状态转移”,中文意思是表述性状态转移。它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构
2022-03-28 19:53:40
9844
1
原创 Themeleaf基本使用
1. Thymeleaf基本使用1.1 springboot集成thymeleafThymeleaf是一个用于web和独立环境的现代服务器端Java模板引擎。Thymeleaf是用来替换传统的jsp,做项目的展示的,SpringBoot里面并不推荐使用jsp了,推荐使用Thymeleaf,Thymeleaf可以运行在有网络的环境里,同时它也可以用在无网络的外部环境里,而有一些模板必须需要服务器才能运行。美工在开发的时候只能改html,我们在开发的时候得把html变成jsp,Thymeleaf可以
2022-03-26 21:46:27
2506
1
原创 SpringBoot中文件下载、拦截器、war包部署、jar包部署
3. SpringBoot中文件下载将可以被下载资源放在磁盘的 D:\springbootcodes\springboot_day6\download 路径这里我们使用jsp开发引入依赖使tomcat可以解析jsp,设置SpringBoot可以访问jsp资源<!--使tomcat可以解析jsp--><dependency> <groupId>org.apache.tomcat.embed</groupId> <arti
2022-03-25 22:46:40
1448
原创 SpringBoot中AOP切面编程和文件上传
1. SpringBoot中AOP切面编程回顾Spring框架中的AOP切面编程引言springboot是对原有项目中spring框架和springmvc的进一步封装,因此在springboot中同样支持spring框架中AOP切面编程,不过在springboot中为了快速开发仅仅提供了注解方式的切面编程.SpringBoot中AOP切面编程使用用到的包结构引入依赖<dependency> <groupId>org.springframework.
2022-03-24 22:31:29
1658
原创 SpringBoot+JSP+Mybatis开发用户注册登录、员工CRUD项目
使用springboot开发一个ems小项目1. 项目简介和分析开发流程 需求分析:分析用户主要需求 提取出项目核心功能 根据核心功能构建页面原型 库表设计(概要设计):1. 分析整个系统有哪些表 2. 分析出表之间关联关系 3. 确定字段 详细设计(流程图,伪代码):用来验证库表准确性 功能实现(编码):环境搭建 具体功能实现 功能测试 部署 上线 维护2. 需求分析系统中含有哪些模块? ~~
2022-03-23 22:46:50
4392
2
原创 SpringBoot中本地测试、热部署工具以及日志的配置和使用
4. 本地测试往往在开发过程中业务代码课程非常复杂频繁启动服务器测试,非常麻烦!这个时候使用本地测试就是一个很好的解决方案,springboot也提供了本地测试解决方案!在使用本地测试之前每次测试都得先启动springboot应用,然后再在地址栏输入方法地址,但是使用本地测试后可以直接在idea运行方法,不用事先启动springboot工厂,其本质是类在实例化的过程中会自动启动工厂,然后就调用方法。# spring中本地测试 1. 启动工厂 ApplicationContext conte
2022-03-21 21:35:55
1792
1
原创 SpringBoot整合Mybatis
3. SpringBoot整合mybatis3.1 SpringBoot整合mybatis思路分析回顾spring框架如何整合mybatisspringboot如何整合mybatis3.2 SpringBoot整合mybatis编码下面会用到的包结构:引入依赖在pom.xml中引入下面依赖<!--spring-boot-starter-web--><dependency> <groupId>org.springframework.b
2022-03-20 18:50:38
2366
原创 SpringBoot属性注入和JSP模板集成
1. 属性注入基本类型注入InjectionController/** * 用来测试属性注入 */@RestControllerpublic class InjectionController { @Value("${name}") private String name; @Value("${age}") private Integer age; @Value("${price}") private Double price;
2022-03-19 21:23:39
446
原创 SpringBoot中相关注解说明、配置文件拆分、加载外部配置、项目创建方式以及SpringBoot中对象的创建方式
7. SpringBoot中相关注解说明我们先来看一下入口类上的**@SpringBootApplication**注解@SpringBootApplication 是一个组和注解(多个注解组合而成的一个注解),其实本身@SpringBootApplication注解没有什么太大的功能,但是取决于它身上组合而来的注解,其实@SpringBootApplication注解单纯在springboot中就是一个标志,但是它的底层是由多个注解组合而来的,组合之后**@SpringBootApplication*
2022-03-18 22:26:25
861
原创 传统ssm开发回顾以及SpringBoot引言、优势、环境搭建
1. 传统的ssm开发我们先来使用传统的ssm开发一个具有添加员工、查询所有的功能。开发一个项目的基本流程# 项目开发一个项目的基本流程- 需求分析 概要设计(库表设计) 详细设计(验证库表正确性) 编码(环境搭建+业务代码) 测试 部署上线本次开发的基本流程# 员工添加 查询所有功能 SSM- 库表 库: ssm 数据库:mysql 表: id name birthday salary# 编码 环境搭建 ssm spring springmvc 一个团队开发 无缝
2022-03-17 22:32:07
865
原创 SpringMVC中的拦截器和全局异常处理
4. SpringMVC中拦截器# springmvc中拦截器1. 拦截器 Interceptor 拦截 中断 类似于javaweb中Filter过滤器(具有拦截请求、放行请求、拦截响应、放行响应) 拦截器也是拦截请求的,而有一点不同的是过滤器可以拦截所有的请求,而拦截器只能拦截控制器相关的请求 2. 作用 通过将控制器中的公共代码放在拦截器中执行,减少控制器中代码的冗余 3. 拦截器特点 1). 请求到达会经过拦截器 响应回来同样会经过拦截器 2
2022-03-16 20:54:22
4079
1
原创 SpringMVC中文件下载
3. SpringMVC中文件下载3.1 文件下载的流程# springmvc中文件下载1. 定义 用户将服务器中文件下载到自己本地计算机中过程称之为文件下载 2. 开发文件下载 1). 定位系统中哪些文件需要用户下载 2). 将需要下载文件放入指定下载目录中 3). 开发一个页面提供一个文件下载链接 4). 开发下载Controller 开发jsp页面提供一个文件下载链接<h1>文件下载</h1><a href="${pageCo
2022-03-15 22:15:05
9758
1
原创 SpringMVC中静态资源拦截问题以及SpringMVC中文件的上传流程、细节
1. SpringMVC中静态资源拦截问题# springmvc中静态资源拦截问题1. 出现静态资源拦截问题的原因 注意:由于在web.xml中配置springmvc的核心servlet DispatcherServlet 时url-pattern 配置为“/”, 因此会导致项目中所有 / 开头请求,均被视为控制器请求处理,这样会导致项目中的静态资源(css,js,imp) 被拦截 解决方案: 1. url-pattern / 导致静态资源拦截 *.ac
2022-03-14 22:19:25
3043
原创 SSM整合(SpringMVC + Spring + Mybatis)
SSM整合开发# SSM整合开发步骤 SSM = SpringMVC + Spring + Mybatis1. 引入依赖 spring springmvc mybatis mybatis-spring mysql druid log4j servlet-api jstl fastjson(需要做ajax处理引入) 2. SM整合 = Spring + Mybatis 1). 建表 2). 实体 3). DAO接口 4). Mapper配置文件 5). Service接口 6
2022-03-12 21:25:48
2058
1
原创 SpringMVC中map类型参数接收和乱码问题以及数据传递机制
1. SpringMVC中map类型参数接收在CollectionVO对象中定义一个map<String, String>类型的名为maps的成员变量,并提供get、set方法// 自定义Vo对象public class CollectionVO { private List<String> lists; private Map<String, String> maps; public Map<String, String>
2022-03-11 23:56:42
2776
原创 SpringMVC中跳转方式与参数接收
3. SpringMVC中的跳转方式# springmvc中跳转方式1. 原始servlet技术中跳转方式 forward跳转: 请求转发 特点: 服务器内部跳转 跳转之后地址栏不变 一次跳转 跳转时可以使用request作用域传递数据 redirect跳转: 请求重定向 特点: 客户端跳转,跳转之后地址栏改变 多次跳转 跳转过程不能使用request作用域 注意:request作用域只能用于一次跳转 2. SpringMVC
2022-03-10 22:29:25
2450
1
原创 SpringMVC引言以及SpringMVC环境搭建(含tomcat下载及环境搭建)
1. SpringMVC的引言为了使Spring可插入MVC架构,SpringFrameWork在Spring基础上开发了SpringMVC框架,从而在使用Spring进行WEB开发时可以选择使用Spring的SpringMVC框架作为WEB开发的控制器框架。# springmvc的引言1. springmvc 由来 诞生 由来:基于spring框架基础之上开发的一个全新的框架 springmvc 作用:SpringMVC 可以作为Web开发时的控制器框架 用来替换现有项目中的Struts
2022-03-10 00:00:02
1099
1
原创 Spring框架的注解式开发
1. Spring框架的注解式开发# Spring框架的注解式(Annotation)开发1. 注解式开发 定义:通过Spring框架提供的一系列注解来完成项目中快速开发 注解:Annotation是java中一种特殊的类 类似于interface 使用时:@注解类名(属性=参数) @Param(Mybatis中做参数绑定的注解) 注意:Spring框架提供的这些注解日后仅仅能在和Spring去做一系列项目的时候去用,这是Spring框架为我们提供的。 为什么Spring框架要
2022-03-08 10:43:32
378
6
原创 事务的传播属性、隔离级别等以及在Spring中的设置
1. 事务的传播属性# 事务传播属性 事务传播:就是在多个业务层之间相互调用时传递事务的过程称之为事务传播 将事务对象在业务层之间进行传递的过程 (本来不同的业务层是不同的事务对象,那么我们在一个业务层就不能调用其他业务层的方法了,但是spring框架提供了 事务传播属性,可以在一个事务层调用其他事务层的方法时将事务对象也传递过去,这样即使调用了别的事务层,但是由于 事务对象是一样的,那么这就成为了一个原子操作,这样这两个(多个)事务要么一起成功,要么有一
2022-03-07 21:57:28
2084
1
原创 Spring、Mybatis整合Service优化思路,DAO层、Service层最终编码以及log4j日志的使用
5. Spring、Mybatis整合Service层事务控制优化思路分析# spring中处理事务的两种方式1. 编程式事务处理 定义:通过在业务层中注入事务管理器对象,然后通过编码的方式进行事务控制 缺点: 1. 代码冗余 2. 不够通用 3. 不便于维护 2. 声明式事务处理 [推荐] 定义:通过利用aop切面编程进行事务控制 并对事务属性在配置文件中完成细粒度配置 这种方式 称之为声明事务 好处: 通用 减少代码冗余 更加专注于业务逻辑开发 无需重复编码
2022-03-06 19:52:18
1047
1
原创 Spring整合Mybatis之DAO层、Service层开发
3. Spring整合Mybatis编程DAO层开发1. 项目引入相关依赖 spring mybatis mysql mybatis-spring druid2. 编写spring.xml 整合:spring 接管 mybatis 中 SqlSessionFactory对象的创建 <!--创建DataSource--> <bean class="com.alibaba.druid.pool.DruidDataSource" id="dat
2022-03-05 21:45:38
2540
原创 Spring如何创建复杂对象以及Spring整合Mybatis思路分析
1. spring如何创建复杂对象# spring如何创建复杂对象1. spring 项目管理框架 定义: spring 项目管理框架 spring框架主要负责项目中 组件对象的 创建 使用 销毁 spring 工厂 容器 ===> 对象 ===> 对象唯一标识2. spring框架如何管理组件对象的创建 a). 组件对象 UserDAO UserDAOImpl UserService UserServiceImpl b). 工厂中创建 &
2022-03-04 23:40:25
445
原创 Spring中aop编程之环绕通知、后置通知、异常通知的开发以及切入点表达式
3.2 开发环绕通知需要用到的DeptDAO接口public interface DeptDAO { // 增 void save(String name); // 改 void update(String name); // 删 void delete(Integer id); // 查 String find(String name);}实现了DeptDAO接口的DeptDAOImpl类public class De
2022-03-03 17:39:36
1519
原创 Spring中AOP编程本质(动态代理机制)以及前置通知的开发
1. 引言我们先通过现有业务层存在的问题来引出代理定义业务接口public interface UserService { void save(String name); void delete(String id); void update(); String findAll(String name); String findOne(String id);}定义业务接口的实现类// 原始业务逻辑对象public class UserServi
2022-03-02 22:49:49
526
原创 设计模式之代理模式
1. 引言我们先通过现有业务层存在的问题来引出代理定义业务接口public interface UserService { void save(String name); void delete(String id); void update(); String findAll(String name); String findOne(String id);}定义业务接口的实现类// 原始业务逻辑对象public class UserServi
2022-03-02 12:39:41
373
原创 Spring中bean的创建模式、生产原理、生命周期、使用工厂创建的好处
8. bean的创建模式# spring工厂的相关特性注意:工厂默认在管理对象时都是单例方式,单例方式无论在工厂中获取多少次始终获取的是同一个对象1.spring中工厂创建对象的模式 1). 默认spring在管理组件对象时是 单例创建 singleton service dao 单例形式管理 2). 如何修改工厂创建组件对象为多例 structs2 action 必须以多例形式管理spring工厂在管理对象时默认使用的是单例模式修改spring工厂创建对象的模式为
2022-03-01 12:51:47
1117
原创 Spring中SET方式注入、构造注入、自动注入
5. SET方式注入5.1 八种基本类型 + String类型注入使用+Date类型(含数组类型)八种基本类型 + String类型注入使用+Date类型 使用value属性进行赋值在组件中定义基本类型 + String类型 + Date类型的成员变量并提供公开的SET方法public class ClazzServiceImpl implements ClazzService{ private ClazzDAO clazzDAO; // SET注入语法,注入的是基本类型(含
2022-03-01 00:07:28
1641
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅