- 博客(89)
- 收藏
- 关注
原创 English
文章目录语法名词代词形容词动词冠词副词时态一般现在时态:一般过去时态:一般将来时态:现在进行时态:介词inatonaboutafterbefore/behind/below/beside/betweenby语法状语: 修饰谓语,和中文不同,英文的状语放在句子后面, I teach english in ShenZhen五大句形: 主 + 谓语(不及物动词) + 状语 (表动作或心理) I live in ShenZhen city 主 + 系 + 表 + 状语 (表状态)
2022-05-19 11:54:00
27410
1
原创 SpringIOC
文章目录Spring介绍IOC概念DI依赖注入XML配置方式普通构造注入静态工厂注入,动态工厂注入属性注入构造注入设值注入对象,数组,集合,Map,Props注入Java配置方式自动配置XML文件的方式Java配置的方式Profile条件注解Bean的作用域混合配置Spring介绍Spring(Spring Framework)是个开源框架,最早又Rod Johnson创建。Spring是为...
2020-04-30 16:39:41
298
原创 Java SE
文章目录基础重载和重写的区别String 和 StringBuffer、StringBuilder 的区别是什么?String 为什么是不可变的?自动装箱与拆箱==与equalsfinal关键字Object常见方法异常基础重载和重写的区别 重载:发生在同一类中,方法名相同,参数类型,返回值,个数,访问权限修饰符可以不同,发生在编译时 重写:发生在父类中,方法名,参数列表必须相同,返回值...
2020-03-15 20:50:04
3016
原创 Spring Cloud
文章目录注册中心 EurekaRestTemplate断路器 Hystrix降级请求缓存熔断请求合并一、 什么是服务注册中心服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串、路由信息等。服务注册中心是 SOA 架构中最基础的设施之一 1 服务注册中心的作用服务的注册服务的发现2 常见的注册中心有哪些Dubbo 的...
2019-11-26 23:49:36
250
原创 Docker
什么是 docker根据 wikipedia 中的介绍:Docker 是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在 Linux 操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。Docker 利用 Linux 核心中的资源分脱机制,例如 cgroups ,以及 Linux 核心名字空间(name space),来创建独立的软件容器...
2019-11-19 19:00:18
171
原创 SpringBoot
SpringBoot:用来简化Spring应用的初始搭建以及开发过程。使开发人员不再需要定义样板式的配置。简化Spring配置简化Maven配置内嵌Tomcat集成其他框架:Redis,zookeeper,Cache,web,mybatis进行SpringCloud的开发简化,是SpringCloud开发的基础SpringCloud:完成RPC(服务注册,发现,调用,负载均衡,路...
2019-11-11 19:04:46
1196
原创 Mycat
问题: 目前处理mysql意外,其他的服务节点都可以使用集群来进行降低高并发的压力, 那么我们将服务中心搭建为集群,所有的数据库持久化操作都要 通过服务中心操作mysql数据库,有如下问题: 高并发: mysql数据库只有一个,造成数据库访问压力过大。 海量数据的查询: 如果某个表中的数据量过大,造成查询数据速度太慢,会造成响应速度慢。项目解决: 问题一:高并发问题...
2019-11-06 10:00:01
312
原创 Dubbo
Dubbo 介绍Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。Dubbo 框架,是基于容器运行的.。容器是 Spring。 Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。 官方网站 : 点我点我 阿里巴巴已经将 dubbo 框架捐献给了 A...
2019-11-05 20:04:21
210
原创 ZooKeeper动态感知与分布式锁
在实际的生产环境中我们一般都是集群环境部署的,同一个程序我们会部署在相同的几台服务器中,这时我们可以通过负载均衡服务器去调度,但是我们并不能很快速的获知哪台服务器挂掉了,这时我们就可以使用zookeeper来解决这个问题。zookeeper的动态感知 动态感知其实利用的就是zookeeper的watch功能,我们先来看下常规的负载均衡服务器的结构再来看下我们用zookeeper实现的...
2019-10-23 09:48:12
181
原创 Redis总结
Redis事务 Redis中的事务和关系型数据库有点区别,只能够保证命令都能执行; 还有个Watch命令,可以保证数据的一致性,保证数据在事务操作之前是没有被修改的持久化 RDB快照: 执行个save或者bgsave 命令,会把当前内存中的数据存在个RDB文件中。 执行shutdown命令的时候,服务器会自动发送一条save命令来完成快照操作 AOF: 记录所有...
2019-10-15 08:58:18
160
原创 Redis面试题
文章目录1.介绍Redis中数据类型2.redis中的持久化方案3.redis的优点4.主从模式5.主从模式下宕机怎么办6. Redis主从,哨兵,集群的区别7.Redis实现消息队列8.如果有大量的key需要设置同一时间过期,一般需要注意什么?9.Redis的同步机制了解么?10.是否使用过Redis集群,集群的原理是什么?11. Redis 管道技术12. 缓存问题缓存穿透缓存雪崩缓存击穿缓存...
2019-10-14 10:20:33
254
原创 Redis哨兵
哨兵模式 在主从模式的Redis系统中,从数据库在整个系统中起到了数据冗余备份和读写分离的作用, 但是当数据库遇到异常中断服务后,我们只能通过手动的方式选择一个从数据库来升格为主数据库, 显然这种方式很麻烦需要人工介入,这时通过哨兵模式可以实现自动化的系统监控和故障恢复。什么是哨兵哨兵的作用是监控Redis系统的运行状态,功能包括以下两个:监控主数据库和从数据库是否正常运行主...
2019-10-12 10:47:25
142
原创 网络编程
文章目录网络编程网络编程的三要素IP地址:端口发送端接收端网络编程计算机的基础知识1.网络模型 5层模型和七层模型2.网络编程的三要素 ip 端口 协议3.Tcp连接过程 三次握手和四次挥手网络模型详情链接Tcp连接过程 三次握手和四次挥手详情链接网络编程的三要素1.IP2.端口3.协议ip类似于一个人的身份证端口类似于门牌号协议类似两个人说话的语言...
2019-10-10 08:59:56
131
原创 SSM
文章目录1.导入相关jar包2.创建配置文件2.1 mybatis的全局配置文件2.2 spring的配置文件2.3 SpringMVC配置文件2.4 web.xml2.5 db.properties文件2.6 log4j.properties文件业务测试1.导入相关jar包Maven坐标<project xmlns="http://maven.apache.org/POM/4.0....
2019-10-08 09:11:30
143
原创 shiro
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序从外部查看shiro框架应用代码直接交互的对象是Subject,也就是说Shiro的对外API核心就是Subjectapi说明Subject主体,代表当前...
2019-10-07 14:25:43
244
原创 Shiro2
整合SSM-授权增加依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.21.RELEASE</version></dependency>...
2019-10-05 15:59:36
313
原创 Mybatis和Spring整合
1.引入相关依赖<dependencies> <!-- Spring相关jar包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <...
2019-10-03 10:55:50
102
原创 Mybatis的运行原理
Mybatis的运行原理:SqlSession对象的获取 ①InputStream is = Resources.getResourceAsStream("mybatis.xml"); 作用:获取资源配置文件的流对象,便于对资源文件的读取和解析 ②SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is); 作...
2019-10-02 12:23:45
162
原创 Mybatis--resultMap
结果映射(resultMap)constructor - 用于在实例化类时,注入结果到构造方法中 idArg - ID 参数;标记出作为 ID 的结果可以帮助提高整体性能 arg - 将被注入到构造方法的一个普通结果id – 一个 ID 结果;标记出作为 ID 的结果可以帮助提高整体性能result – 注入到字段或 JavaBean 属性的普通结果association –...
2019-10-01 12:46:50
248
原创 Mybatis的多表查询
Mybatis的多表查询问题: 目前我们可以使用Mybatis完成单表的增删改查(基于SqlSession对象的和基于动态代理的), 以及可以实现单表的SQL语句的动态拼接。但是在开发中,我们发现所有的项目,其实底层 就是对数据库的增删改查,而查询最多的是多表联合查询,那么怎么完成多表查询呢?解决: 使用Mybatis的多表联合查询实现: 业务装配方式(了解) res...
2019-09-30 09:25:52
214
原创 log4j
Log4j的使用 导入jar包 slf4j-log4j12Maven坐标<!-- 加入log4j支持 --><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25...
2019-09-29 08:59:14
161
原创 Mybatis全局配置文件
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。mybatis和hi...
2019-09-28 08:56:19
176
原创 Mybatis中mappers标签介绍
mappers标签介绍 MyBatis 是基于 sql 映射配置的框架,sql 语句都写在 Mapper 配置文件中,当构建 SqlSession 类之后,就需要去读取 Mapper 配置文件中的 sql 配置。 而 mappers 标签就是用来配置需要加载的 sql 映射配置文件路径的。配置方式 mappers 标签下有许多 mapper 标签,每一个 mapper 标签中配置的都...
2019-09-27 08:55:52
10180
3
原创 Maven
Maven的介绍: 问题: 我们在开发中经常会使用到别人已经开发好的代码。将别人的代码提供的jar包文件 导入到本地项目中,比如SSM项目。A开发需要使用B开发的代码,则需要B将其 代码导出jar包,并提供给A,A在将其导入到项目中使用,而Jar包之间有依赖关系。 我们还需要将B的jar包的依赖包也要导入到A中,所有的动作都是基于手动的。太过于麻烦 而且很容易遗漏jar包文件...
2019-09-26 09:18:04
540
原创 RESTful风格
Restful风格 Restful是一种软件设计规范,是客户端和服务端进行数据交互的一个规范。 早期使用JSP页面开发网页时,数据交互基本都是通过表单提交,然后通过内置对象传递。 当HTML5兴起,移动互联网兴起,网站后端服务,不仅要考虑PC端的网页,也要考虑移动端数据的展示、小程序、HTML5页面等。 如果需要多个终端(Android、iOS、小程序、Pad、HTML5页面...
2019-09-25 14:41:33
181
原创 Spring整合SpringMVC
Spring整合SpringMVCSpring容器和SpringMVC容器的关系 Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器。 因此,在SpringMVC容器中,可以访问到Spring容器中定义的Bean,而在Spring容器中,无法访问SpringMVC容器中定义的Bean。 在Web开发中,Controller全部在SpringMV...
2019-09-24 09:43:29
121
原创 Spring数据校验
数据校验为什么需要服务端校验? 最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作可以放在前端去执行。 那么为什么还需要服务端校验呢? 因为前端传来的数据不可信。前端很容易获取都后端的数据接口,如果有人绕过页面,就会出现非法数据,所以服务端也要数据校验...
2019-09-23 08:53:43
259
原创 SpringMVC数据回写与异常处理
数据回写 数据回写:在做数据更新的时候服务端查询的数据自动填充到表单中1.默认方式通过 Map Mode ModelMap绑定数据//数据回写 @RequestMapping("/userUpdate") public String userUpdate(User user,Model m){ user = new User(); user.setId(1); user....
2019-09-22 09:00:19
212
原创 SpringMVC中JSON数据交互
文章目录数据校验普通校验分组校验数据回写异常处理JSON数据交互响应JSON数据接收JSON数据数据校验为什么需要服务端校验? 最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作可以放在前端去执行。 那么为什么还需要服务端校验呢? 因为前端传来的数据...
2019-09-21 13:51:37
193
原创 SpringMVC--拦截器
文章目录SpringMVC拦截器一、配置流程二、单重拦截的执行流程三.HandlerInterceptor接口的方法及其作用四.双重拦截的执行流程SpringMVC拦截器SpringMVC之拦截器: 拦截器和过滤器的区别: 1.过滤器是在Servlet前,拦截器是在Servlet后 2.一般来说,如果使用了SpringMVC框架,然后有拦截器的需求,建议使用拦截器而不是过滤器 ...
2019-09-20 09:49:03
161
原创 Spring-AOP
基于Schema-based方式实现需要添加的jar包前置通知1.创建目标接口和实现类public interface UserService { String doSome(); String say();}public class UserServiceImpl implements UserService{ @Override public String doSome...
2019-09-19 08:58:36
476
原创 SpringMVC上传下载
SpringMVC之上传: 上传: 通过浏览器将客户端硬盘的文件发送给服务器,并由服务器将该 文件存储到其硬盘的一个过程。 步骤: ①在浏览器中选择客户端的硬盘中要上传的文件。 ②点击上传,浏览器以流的形式将文件发送给服务器。 ③服务器接受到请求后,调用对象的Servlet(DispactherServlet)处理请求 在Servlet中完成对request中...
2019-09-18 12:38:33
105
原创 Spring-事务
事务处理 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。 通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。 一个逻辑工作单元要成为事务,必须满...
2019-09-17 09:00:46
90
原创 shiro权限管理
该项目中权限只涉及到角色1 SpringMVC添加配置 <!-- 开启Shiro注解 --> <aop:config proxy-target-class="true"></aop:config> <bean class="org.apache.shiro.spring.security.interceptor.Authorization...
2019-09-16 09:16:56
173
原创 SpringMVC 四大组件
核心组件:(SpringMVC 四大组件)DispatchServlet: 前端控制器 Servlet分发器,整个SPringMVC框架入口 用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心, 由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性 HandlerMapp...
2019-09-16 00:24:39
1742
原创 Java代理模式
代理模式 23中(Gof)中代理模式中的一种,AOP本身就是基于动态代理实现的,所以掌握了代理模式对AOP的学习很有帮助,所以先讲下代理模式静态代理模式 若代理类在程序运行前就已经存在,那么这种代理方式被成为 静态代理 ,这种情况下的代理类通常都是我们在Java代码中定义的。 通常情况下, 静态代理中的代理类和目标类会实现同一接口或是派生自相同的父类。创建接口和实现类//定义公...
2019-09-15 10:48:53
125
原创 注解方式使用redis--Spring Cache
注解方式使用redis: 问题: 我们在使用原生的RedisTemplate在Spring中完成对redis的 操作时,发现,redis缓存的校验和缓存同步的代码需要我们在 业务层方法中自己实现。 如果业务层方法过多,需要频繁的声明 redis的操作代码。如果原来项目中没有使用redis,现在要使用 redis,则需要修改业务层的代码。 方案: 其实说...
2019-09-14 10:59:01
263
原创 JAVA----mybatis的动态SQL
mybatis的SQL语句动态拼接学习: 问题: 在学习了Mybatis的Sql动态代理后,我们可以很放方便的实现单表的增删改查。 但是我们又发现,很多时候,根据业务需求,无法事先确定要执行的SQL语句。 用户发起请求的数据不同,需要执行的SQL语句也不同,怎么办呢? 解决: 根据不同的参数的值,动态的拼接SQL语句。 传统方式实现: 在DaoImp...
2019-09-12 13:57:01
447
原创 mybatis的AutoMapping自动注入和ResultMap自定义注入
文章目录AutoMapping自动注入和ResultMap自定义注入AutoMapping自动注入和ResultMap自定义注入解释: 在单表查询中,mybatis会根据实体类的属性名和字段名 相同的方式将查询结果自定的注入到实体类的对象中。就不 需要我们像以前一样书写while循环遍历赋值了。注意: Mybatis默认按照字段名和属性名一致的规则将查询的数据注入 到实体...
2019-09-11 09:01:12
3999
原创 Freemarker
简介 FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件官网手册:链接JavaEE中的两种开发方式前后端不分离 要求程序员要掌握js,为了简化页面开发,引入页面模板,页面模板整体上来说又可以分为两大类 ...
2019-09-10 08:56:32
765
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人