- 博客(38)
- 资源 (4)
- 收藏
- 关注

原创 150行实现SpringMVC核心代码
SpringMVC的核心实现实现效果:实现在浏chrom输入地址localhost:8080/toLogin.do进入servlet最终转发到html页面项目包[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g1g0MJK6-1614215863424)(smartMVC_files/1.png)]实现步骤# # 一:创建@RequestMapping注解->用于实现SpringMVC中的@RequestMapping注解 @Retention(RUNTIME
2021-02-25 09:19:10
563
原创 Zookeeper单机安装
进入software目录cd /home/software/关闭防火墙service iptables stopchkconfig iptables off安装JDK下载Zookeeper的安装 - 云主机只允许下载不能上传wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/zookeeper-3.4.8.tar.gzmac远程上传zookeeper压缩包scp /Users/qipengkun/Desktop/code.tarena.com..
2021-09-26 18:12:50
137
原创 Java总结
1.备份mysql数据库mysqldump -u root -p --all-databases > all-data-$(date +%F).sql2.启动mysql数据库PATH="$PATH":/usr/local/mysql/bin
2021-08-21 10:40:57
143
原创 代理*设计模式
文章目录一.代理设计模式二.代理模式的应用场景三.代理模式的实现方式四.代理模式优缺点五.Jdk动态代理模式底层实现一.代理设计模式代理模式主要对我们的方法前后实现增强二.代理模式的应用场景打印日志Aop事务AopMyBatis中maper接口全局捕获异常Lcn,seata,分表分框架shadingjdbc代理数据源自定义注解生效(反射技术+Aop)Rpc远程调用技术,代理设计模式三.代理模式的实现方式静态代理需要人工的手写代理类动态代理JDK动态代理(反射拼接
2021-05-22 13:22:17
281
原创 手写Tomcat核心组件之Request
Request请求1.启动服务端java -jar Request-02.java1.客户端Chrom向服务器发起请求url:localhost:8088或http://localhost:8088/?id=1&name=2&age=32.客户端状态客户端
2021-05-10 13:38:02
421
原创 面试题(JavaWEB)
1、【单选题】(单选题)获得焦点的事件和失去焦点的事件分别是?A.onclick、onblurB.onblur、onclickC.onfocus、onblurD.onfocus、onclick【正确答案】C【答案解析】正确答案是C,考察事件是否掌握2、【单选题】关于Mybatis中的#占位符,用法正确的是?A.select id,name from user where name = #{userName}B.select id,name from user where #{name}
2021-04-16 08:51:52
1544
3
原创 Sentinel限流熔断
Sentinel简介Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。Sentinel 提供了实时的监控功能,通过控制台可以看到接入应用的单台机器秒级数据,甚至500 台以下规安装Sentin
2021-04-16 08:49:02
135
原创 基于Feign的远程调用
背景分析服务消费方基于rest的请求服务提供方的服务时,一种直接的方式就是自己拼接url,拼接参数然后实现服务调用,但每次服务调用都需要这样拼接,打码量复杂且不易维护,此时Feign诞生。Feign是什么Feign 是一种声明式Web服务客户端,底层封装了对Rest技术的应用,通过Feign可以简化服务消费方对远程服务提供方法的调用实现。如图所示:Feign 最早是由 Netflix 公司进行维护的,后来 Netflix 不再对其进行维护,最终 Feign 由社区进行维护,更名为 Open
2021-04-11 21:05:16
218
原创 Nacos(2)~消费者
创建消费者项目01-spa-nacos-consumer01-spa-nacos-consumer为00-spa-parent的项目子项目需要<parent> <groupId>com.cy</groupId> <artifactId>00-spa-parent</artifactId> <version>1.0-SNAPSHOT</version></parent><d
2021-04-08 21:49:01
292
1
原创 CGB2012后端项目环境说明
一:项目结构CGB2012–>为父项目作为项目管理generator–>为代码生成器项目(不用动)core–>为核心项目core项目目录使用演示1.定义Controller此时并没有写sql和mapper接口是使用mybatis-plus,mybatis-plus支持简单的sql生成,大大简化开发2.启动项目在浏览器里测试localhost:8080/portal/user可以看到自动生成的sql,因为数据库没有数据,所以Chrom为空pojo不用考虑数据
2021-04-08 21:37:20
156
原创 Nacos(1)~生产者
一:启动nacosmac版sh startup.sh -m standalonewindown版startup.cmd -m standalone二:访问nacos服务打开浏览器,输入http://localhost:8848/nacos地址,出现如下登陆页面:用户名密码都为nacos三:在idea创建nacos父工程00-spa-parentpom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="h
2021-04-08 20:54:28
200
原创 RuoYi微服务版本落地实践
RuoYi简介若依微服务版 RuoYi-Cloud,基于 Spring Boot、Spring Cloud & Alibaba、OAuth2的前后端分离的后台管理系统。RuoYi-Cloud 是一个 Java EE 企业级快速开发平台,基于经典技术组合(SpringBoot、Spring Cloud & Alibaba、OAuth2、Vue、Element-UI),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群
2021-04-05 10:11:59
1000
2
原创 CGB·V
一个工具(IDEA:Maven:Git,Gitee,Lombok)三条业务(公告子系统-SSM,操作日志子系统-AOP,权限管理子系统-menu,role,user+shiro)四个框架(SpringBoot,Spring Framework,MyBatis,Shiro)五种思想(OOP,IOC,AOP,MVC,MVVN)两大集(BUG集-100,FAQ集)八种套路(享元模式,单例模式,工厂模式,门面模式,代理模式,策略模式,模版方法模式,装饰模式)五种原则(开闭原则-DIP,依赖倒置-DIP.
2021-04-05 09:52:46
215
原创 手写Tomcat之-RegServlett(10)
package com.webserver.servlet;import java.io.File;import java.io.RandomAccessFile;import java.util.Arrays;import com.webserver.http.HttpRequest;import com.webserver.http.HttpResponse;处理注册业务public class RegServlet extends HttpServlet { public v
2021-04-04 18:24:22
192
原创 手写Tomcat之-LoginServlet(9)
package com.webserver.servlet;import java.io.File;import java.io.RandomAccessFile;import com.webserver.http.HttpRequest;import com.webserver.http.HttpResponse;处理登陆业务public class LoginServlet extends HttpServlet{ public void service(HttpRequest r
2021-04-04 18:22:56
151
原创 手写Tomcat之-HttpServlet(8)
package com.webserver.servlet;import com.webserver.http.HttpRequest;import com.webserver.http.HttpResponse;所有Servlet的超类public abstract class HttpServlet { public abstract void service(HttpRequest request,HttpResponse response);}
2021-04-04 18:21:25
80
原创 手写Tomcat之-ServerContext(7)
import java.io.File;import java.util.HashMap;import java.util.List;import java.util.Map;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;import com.webserver.servlet.HttpServlet;服务器所有配置信息public class ServerCont
2021-04-04 18:19:54
196
原创 手写Tomcat之-HttpContext(6)
package com.webserver.http;import java.io.File;import java.util.HashMap;import java.util.List;import java.util.Map;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;HTTP 协议相关定义内容设计这个类的目的是将所有HTTp协议定义的内容都放在这里这样我们无
2021-04-04 18:17:14
153
原创 手写Tomcat之-EmptyRequestException(5)
package com.webserver.http;空请求异常public class EmptyRequestException extends Exception { private static final long serialVersionUID = 1L; public EmptyRequestException() { super(); // TODO Auto-generated constructor stub } public EmptyRequestE
2021-04-04 18:10:46
284
原创 手写Tomcat之-HttpResponse(4)
package com.webserver.http;import java.io.File;import java.io.FileInputStream;import java.io.OutputStream;import java.net.Socket;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Set;响应对象该类的每一个实例用于表示服务端
2021-04-04 18:09:32
146
原创 手写Tomcat之-HttpReqeuset(3)
package com.webserver.http;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.Socket;import java.net.URLDecoder;import java.util.HashMap;import java.util.Map;请求对象该类的每一个实例用于表示一个HTTP
2021-04-04 18:03:56
132
原创 手写Tomcat之-ClientHandler(2)
package com.webserver.core;import java.io.File;import java.net.Socket;import com.webserver.http.EmptyRequestException;import com.webserver.http.HttpRequest;import com.webserver.http.HttpResponse;import com.webserver.servlet.HttpServlet;用于处理客户端请求
2021-04-04 17:59:02
626
原创 手写Tomcat之-WebServer(1)
package com.webserver.core;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;WebServer主类public class WebServer { private ServerSocket server; //线程池,用于管理处理客户端
2021-04-04 17:57:06
123
原创 SpringMVC-拦截器应用
概述Spring Web 中的拦截器(Interceptor)基于回调机制,可以在目标方法执行之前,先进行业务检测,满足条件则放行,不满足条件则进行拦截,拦截器原理分析如下图所示:SpringMVC中的拦截器是在DispatcherServlet之后执行的,而servlet中的的拦截器是在DispatcherServlet之前执行的包结构一:定义拦截器:通过拦截器拦截对 Spring Web Handler 进行时间访问拦截package com.cy.pj.common.web;/*
2021-03-27 09:19:02
93
原创 SpringMVC-全局异常处理
Web 全局异常处理当项目由多个控制层类中有多个共性异常的处理方法定义时,我们可以将这些方法提取到公共的父类对象中,但是这种方式是一种强耦合的实现,不利于代码的维护。我们还可以借助 spring 框架中 web 模块定义的全局异常处理规范进行实现,例如定义全局异常处理类,代码如下一:在controller包父包下创建advice包包结构如上创建异常处理类GlobalExceptionHandlerpackage com.cy.pj.sys.web.advice;import com.
2021-03-27 09:10:10
113
原创 06-Spring中的AOP模块的使用
前言AOP(Aspect Orient Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程(OOP)的一种补充和完善。实际项目中我们通常将面向对象理解为一个静态过程(例如一个系统有多少个模块,一个模块有哪些对象,对象有哪些属性),面向切面理解为一个动态过程(在对象运行时动态织入一些扩展功能或控制对象执行)AOP在SpringBoot项目的配置及使用1.添加AOP依赖(SpringBoot项目默认没有不提供这个依赖)<dependency>
2021-03-17 12:16:09
151
原创 二.稻*问答-注册功能
实现效果:实现用户注册完进行登陆系统,进入博客技术栈:Lombok(@Data自动生成get和set方法)mybatis-plus(生成了多数简单的sql)queryWrapper目录结构实现(持久层)无需实现持久层代码,无需写sql实现(业务层)1.业务层接口IUserServicepublic interface IUserService extends IService<User> { /** * 注册一个学生 * @para
2021-03-10 12:35:43
316
原创 一.稻*问答-登陆功能
实现效果:实现用户登陆功能,与传统的登陆功能不同,用Spring-Security实现登陆,减少了开发者的代码,也提高了系统的安全性技术栈:Lombok(@Data自动生成get和set方法)mybatis-plus(生成了多数简单的sql)mybatis-plus代码生成器(生成了基础的三层)Spring-Security安全框架(主要实现)目录结构实现(持久层)根据用户名查询用户信息 @Select("select * from user where username=#
2021-03-10 08:36:22
306
1
原创 (mac)版idea配置gitee及使用
在(mac)版idea配置gitee及使用Y:配置在官网下载https://www.git-scm.com/download下载Git客户端配置Gitee全局变量·用终端进入gitee安装路径cd git安装路径配置用户和密码,用于识别提交代码的用户。 $ git config --global user.name "your-name" $ git config --global user.email "your-email@youremail.com" 检查配置信息 $ gi
2021-03-04 18:54:05
3417
2
原创 03-创建SpringMVC步骤
1.创建SpringBoot之后并没有集成SpringMVC需要更改pom.xml把<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId></dependency>改成<dependency> <groupId>org.springframew
2021-03-03 13:05:04
137
原创 02-在SpringBoot项目中使用Spring
在SpringBoot项目中使用SpringSpringBoot集成Spring并不用导入任何的依赖(pom.xml)Spring中IOC和DI的概念IOC是概念,编程思想(好莱坞原则)DI具体措施,因为Spring实现IOC,衍生DI,副作用,用来解决问题# # 方式一.XML方式注入(已过气)1).在目录下src/main/resources创建applicationContext.xml并写入<?xml version="1.0" encoding="UTF-8"?><
2021-03-03 13:03:35
421
原创 01-开箱即用SpringBoot
1.在eclipse中创建maven项目2.从start.spring.io拷贝pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.
2021-03-03 13:01:34
111
原创 05-用SpringBoot整合SSM完整开发
实现效果:前后端完整贯穿实现步骤:导入依赖(pom.xml)从start.io获取编写RunApp.java编写application.yml文件编写pojo实体类编写mapper.xml文件编写持久层编写业务层编写控制器启动RunnApp测试包结构:实现步骤一:添加依赖依赖如下:Spring WebMyBatis FrameworkMySQL Driver依赖为:SpringBoot项目直接复制下面的即可<?xml version="1.0" enc
2021-03-02 19:43:15
296
1
原创 05.5-借助mybatis-plus使用代码生成器(pojo)
# # I 添加依赖直接全选复制即可 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
2021-03-02 08:57:29
383
7
原创 04-在SpringBoot项目中创建mybatis项目
# # 在SpringBoot项目中创建mybatis项目I.在pom.xml中添加依赖需要添加mysql和mybatis的依赖1).mysql的依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
2021-03-01 09:34:04
206
原创 Java基础面试一:单例模式和冒泡排序
# 设计模式:概念:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性# 单例模式Singleton:!).饿汉式—实现单例模式:保证一个类仅有一个实例class MySingleton{ //1,不让外界随便new--私有化构造方法 private MySingleton(){} //2,在内部创建一个对象,给外界提供 //加static的原因:::要被静态资
2021-02-28 21:56:18
173
原创 150行实现HashMap核心代码
简易实现HashMap核心代码实现效果:模拟HashMap的存入和取出HashMap底层存储的数据结构实现步骤1).创建SimpleHashMap类(模拟HashMap)2).构建SimpleHashMap类的内部类HashNode(为HashMap的一个桶)3).定义成员变量ArrayList<HashNode> bucketArray为桶数组4).定义成员变量int numBuckets记录桶的个数5).定义成员变量int size记录HashMap中有效元素个数6).
2021-02-27 14:33:10
262
3
原创 Java基础
@[Java](Hello World)Java基础常见问题一.入门问题集1.ln相当于br 加上ln2./ 除 %取余3.i++ 等于1 ++i等于24.year % 4 == 0 && year % 100 != 0 || year % 400 == 05.for循环先运行比较条件 后++6.出现在成员位置(类里方法外),叫成员变量7.方法里变量,叫局部变量8.方法括号里叫形参9.方法调用时候叫实参10.成员变量有默认值(class里的变量)二.访问控制修饰符(
2021-01-22 19:34:17
146
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人