自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 c语言指针小白基础教学

指针:是一个32位数的一个数。只不过这个数是二进制表示的。例如0000 0000 0000 0000 … 0001(32个bit位)。为了方便表示,因此转换成16进制所表示的一个数。1 2 3 4 字节数内存区:最小的存储单元是一个字节,每一个存储单元都有其对应且唯一的编号。这个编号我们称为地址,也叫指针。通过地址/指针就能找到某一块内存的首地址/某一个内存单元。拿32位平台举例,一个计算机的某一个内存区有2^32个存储单元。指针即地址,地址即指针。

2024-03-10 18:50:39 912

原创 考研英语作文模板

考研英语二大作文模板,自己结合市面所有名师开发的、总结的模板。

2023-11-07 21:29:43 623

原创 RabbitMQ

什么是AMQP?应用间消息通信的一种协议,与语言和平台无关。AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。springAMQP如何发送消息?引入amqp的starter依赖配置RabbitMQ地址。

2022-12-16 18:23:20 1480 1

原创 RabbitMQ部署指南

我们在Centos7虚拟机中使用Docker来安装。

2022-12-12 16:37:11 174 1

原创 Docker

将应用程序及其依赖、环境、配置打包在一起镜像运行起来就是容器,一个镜像可以运行多个容器服务端∶接收命令或远程请求,操作镜像或容器客户端:发送命令或者请求到Docker服务端·一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为DockerRegistry。

2022-12-10 18:24:16 582

原创 Docker安装

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。

2022-12-10 14:40:53 239

原创 【Redis实战】黑马点评项目

由于客户端访问nginx之后,如果有多台tomcat做并发集群,当nginx作负载均衡,在多个tomcat之间做轮循,每一个tomcat都会有自己的session,如果同一个用户负载均衡进入的tomcat不一样,那么他们的session保存的数据就不一致,所以为了解决session数据同步性,共享性,存储性,我们需要用redis来代替session。拦截用户不存在的请求。,那么当我们验证码校验成功后,用户存在我们需要把用户存入到redis中,返回给me请求的时候,只需要返回UserDTO对象了。

2022-10-28 18:33:01 1235 1

原创 【Redis】redis入门保姆教程

在RedisConfig配置类自定义redisTemplate方法,在此方法内修改RedisTemplate的默认序列化器为只保存String类型的key,value的序列化器,比如jackson2序列化器,fastJson序列化器等等。使用spring提供的StringRedisTemplate,写入redis的时候手动的把java对象序列化为json对象,读取redis的数据时手动的把json对象反序列化为Java对象。

2022-10-26 16:46:06 673

原创 Spring Security

Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity , Shiro的上手更加的简单。一般Web应用的需要进行认证和授权。而认证和授权也是SpringSecurity作为安全框架的核心功能。如果不是前后端分离的项目,它是基于session存储进行一个认证和授权的。

2022-10-15 17:30:57 627

原创 【Springboot】整合mybatis

2.导出静态资源解决方案3.配置数据源,连接数据库,配置mybatis的登记xml路径4.mapper接口[email protected]文件的sql编写7.controller调用mapper接口的方法将数据返回到视图

2022-10-14 15:55:02 129

原创 【Springboot】使用数据源Druid来实现日志监控

Druid是阿里巴巴开源平台上一个数据库连接池实现,结合了C3PO、DBCP、PROXOOL等DB池的优点,同时加入了日志监控。Druid可以很好的监控DB池连接和SQL的执行情况,天生就是针对监控而生的DB连接池。Spring Boot 2.0 以上默认使用Hikari 数据源,可以说Hikari与 Driud都是当前Java Web上最优秀的数据源,我们来重点介绍Spring Boot如何集成Druid 数据源,如何实现数据库监控。

2022-10-09 18:26:14 917

原创 【SpringBoot】SpringMVC扩展

EnableWebMVC注解底层实质上是import了一个DelegatingWebMvcConfiguration配置类(封装了一些自动配置的方法),而这个配置类又继承了WebMvcConfigurationSupport(封装一些jackson工具类的属性)。以上代码可以添加一个url为kxy的,同样能走test视图,实现了多个url映射一个视图。

2022-10-06 15:55:30 130

原创 【SpringBoot】手把手教你写员工管理系统项目

=""=""

2022-10-05 22:13:20 199

原创 Springboot+thymeleaf

在启动器的自动配置下的web场景下的WebMvcAutoConfiguration配置类里的getIndexHtml方法里创建一个相对路径index.html作为我们的默认路径,如果存在这样的路径,就返回该资源给到首页,于是帮就覆盖首页了。ThymeleafProperties 类中实质就是一个视图解析器,配置了前缀和后缀的默认值。并且编码也配好了,不用我们再去写编码的过滤器。

2022-10-02 15:40:21 100

原创 【SpringBoot】yaml

YAML是”YAML Ain’t a Markup Language”(YAML不是一种置标语言)的递归缩写,早先YAML的意思其实是:”Yet Another Markup Language”(另外一种置标语言)

2022-10-01 18:34:48 114

原创 【SpringBoot2】springboot2所有的知识点问答

1. @EnableConfigurationProperties必须在配置类里写才能生效,@Configuration已经标注了这是配置类,就可以使用。2. @EnableConfigurationProperties的作用是开启配置绑定的功能,并且将携带的参数(一个类)注入到容器中,拥有了@Component的功能。3. 尤其是第三方不可修改的工具类,就可以用@EnableConfigurationProperties将他注入到容器中,并且配置绑定我们的Properties配置文件。

2022-09-24 16:22:00 405

原创 【Vue】路由vue-Router

服务端路由时指的是服务器根据用户访问的 URL 路径返回不同的响应结果。在传统的服务端渲染的 web 应用中点击一个链接时,浏览器会从服务端获得全新的 HTML页面,然后重新加载整个页面。这样通常可以带来更顺滑的用户体验,尤其是在更偏向“应用”的场景下,因为这类场景下用户通常会在很长的一段时间中做出多次交互。在这类单页应用中,“路由”是在客户端执行的。一个客户端路由器的职责就是利用诸如 History API 或是 hashchange 事件这样的浏览器 API 来管理应用当前应该渲染的视图。

2022-09-18 19:24:27 2072

原创 【Vue】第一个Vue程序

vue是MVVM架构的实现者。MVVM是源自于MVC模式的。在MVVM架构中,是不允许数据和视图直接通信的,只能通过ViewModel来通信,而ViewModel就是定义了一个 Observer观察者。至此,我们就明白了,Vue.js就是一个 MVVM的实现者,他的核心就是实现了DOM监听与数据绑定。

2022-09-15 19:01:58 424

原创 【SpringMVC】处理器拦截器

一个拦截器,只有 preHandle 方法返回 true , postHandle 、 afterCompletion 才有可能被执行;如果 preHandle 方法返回 false ,则该拦截器的 postHandle 、 afterCompletion 必然不会被执行。拦截器不是Filter,却实现了Filter的功能,其原理在于:所有的拦截器 (Interceptor) 和处理器 (Handler) 都注册在 HandlerMapping 中。

2022-09-10 21:13:37 233

原创 【SSM】我的第一个SSM整合项目

数据库创建表2.配置大于约定:配置mybatis核心配置文件能做的事情,都移交了spring做了,因此能留下来的不多,这里保留了一个日志的设置。3.后端业务1.mapper接口2.业务sql3.业务实现类使实现类继承SqlSessionDaoSupport,spring会自动帮我们把我们在spring.dao.xml里的sqlsessionTemplate注入到实现类,于是就可以使用getSqlSession()方法去获取对应的session。处理器映射器会映射对应的

2022-09-08 15:42:08 353

原创 【SpringMVC】json

JSON,全称是 JavaScript Object Notation,即 JavaScript对象标记法。JSON是一种轻量级、基于文本的、可读的格式。JSON是参考JavaScript 对象的规则定义的,其语法与JavaScript定义对象的语法几乎完全相同。JSON是前后端交互的一种格式信息。

2022-09-04 22:15:16 279

原创 【SpringMVC】SpringMVC接受请求参数和数据回显

可是这样子写的话,如果前端没有携带参数,就会返回空值。如果前端传的不是一个name呢?我们该怎么处理?@RequestParam(“username”)会强制你请求携带的参数必须是username。如果你的参数还是name或者其他(包括不携带参数),必定会报400错误(错误的请求),它告诉你请求是畸形的。

2022-09-04 01:28:59 282

原创 【SpringMVC】Resultful风格映射url

resultful风格是一种软件架构风格,而不是标准,只是提供了一种设计原则和约束条件。主要适用于客户端和服务器端交互的软件。是基于http协议实现。目的是为了提高系统的可伸缩性,降低应用之间的耦合度,方便框架分布式处理程序。基于这个风格的软件可更加的简单、更有层次,更易于实现缓存的机制。1.面向资源2.轻量级,高效简洁。3.数据描述简单,一般以xml,json做数据交换。4.安全。

2022-09-04 00:39:31 235

原创 【SpringMVC】SpringMVC实现转发和重定向

视图解析器的作用就是解析视图,在spring管理的xml文件里它的主要工作还是配置一个视图的前缀和后缀,相当于在处理器controller类里的每一个方法的返回值的名字就是要解析的视图名称。程序员只需要给出视图的名称而不需要给出全限定名。如果没有配置视图解析器,则需要给出全限定名。

2022-09-03 13:58:16 258

原创 【SpringMVC】注解开发

1.首先当客户端的url请求发出的时候,DispatcherServlet接受请求,DispatcherServlet告诉处理器映射器,通过注解@RequestMapping的url来查找对应的处理器,返回执行链给DispatcherServlet。2.然后DispatcherServlet告诉适配器,适配并且执行处理器HelloController,执行完返回模型和视图对象。...

2022-08-30 16:07:13 133

原创 【SpringMVC】深度理解DispatcherServlet

/模型视图添加一个对象:属性名:msg,属性值:HelloSpringMVC!");//设置视图的名字(路径)对应hello.jsp中的hello modelAndView . setViewName("hello");} }你会发现HelloController类是灰色的,是没有引用的意思,否则就相当于没有写这个类。因此我们需要注入到spring容器里,也就是在springmvc-servlet.xml(spring管理的配置文件)注册bean。.........

2022-08-28 01:26:22 445 1

原创 Git通用教程

git add命令实际上就是把要提交的所有的修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支(默认分支是master,head是指针,指向master)。工作区就是learngit目录(文件夹),版本库就是.git目录(文件夹)。stage(或者index)在下.git目录下。**被修改过了,但还没有准备提交(没有准备提交)将要被提交的修改包括 **(准备提交)没有要提交的修改(已经提交完)好的,现在你学会了怎样提交一个修改,并且查看当前仓库的状态。...

2022-08-24 04:03:49 179

原创 【Spring MVC】早期MVC架构(servlet)

springMVC就是将servlet的处理请求的过程给做一个封装的框架springMVC是基于servlet(控制器)为表述层提供完备的解决方案springMVC通过强大的前端控制器(DispatcherServlet)对原生的获取请求以及处理请求进行封装。......

2022-08-19 22:39:07 499

原创 【Spring】Spring声明事务

spring管理事务有两种方式,声明式事务和编程式事务。声明式事务就是在不改变原有业务的情况下实现事务的织入。而编程式事务,需要在具体业务中进行事务的管理。为什么需要事务?如果不配置事务,可能会导致数据不一致。同样的也不满足原子性。降低了安全性。为了不再代码中手动的配置事务,我们用spring的声明式事务。......

2022-08-17 21:43:26 233

原创 【Spring】Spring整合Mybatis 使用xml

2.配置Spring-dao.xml1.创建SqlSessionFactory在spring-dao里,需要创建SqlSessionFactory的话 ,需要注入数据源。由spring来替代mybatis管理数据源datasource。实质上就是原来mybatis的登记mapper的操作。也就是说登记mapper的活也交给spring管理了。最后其实mybatis的配置文件mybatis-config.xml可以不要。全权交给spring管理。注入sqlsessionFactory对象既然创建了

2022-08-15 19:34:43 265

原创 【Spring】AOP实现的两种方向

Override /*method要执行目标对象的方法target目标对象args参数System . out . println(target . getClass() . getName() + "的" + method . getName() + "被调用");} }System . out . println("调用了" + method . getName() + " 返回值:" + returnValue);} }定义了一个BeforeLog 和AfterLog类 ,.........

2022-08-08 23:39:10 190

原创 【设计模式】动态代理

这一行,实际上是调用LogHandler.invoke方法,method参数其实就是原来实现类对象中的addUser方法,method.invoke(target, args)才是调用了addUser方法,所以proxyInstance.addUser();代理对象proxy不能直观的显示出,由newProxyInstance创建,创建出来后,可以直观上调用目标实现类的方法,但其实质上是调用invoke方法,在invoke方法里才是调用目标实现类的方法,并且在此方法前后做业务拓展。...

2022-08-08 17:48:09 132

原创 【设计模式】静态代理 看完就理解!

用户被代理后,用户不再是访问原来的实现类,而是访问代理对象。用户把需求交给代理对象,由代理对象去实现,我们就说代理对象代理了用户。实现类把自己交给代理对象托管,让代理对象拓展我们原来实现类中的功能。反过来,代理对象可以对实现类进行统一的管理,比如在本案例中调用具体实现类之前,用户说我需要打印日志,我们对调用实现类的方法前后加上添加打印日志的功能。这样就避免了修改具体实现类。满足我们所说的开闭原则。......

2022-08-05 19:45:38 134

原创 【Spring】使用注解开发

使用这一类注解,需要在xml配置文件里注册注解支持:扫描com.kxy包以查找带有@Component注解 的任何类,并将这些类注册为容器内的 Spring bean 定义@Component:标注当前的类为Spring容器中的Bean,(把普通实体类实例化到spring容器中,相当于配置文件中的< bean id=“” class=“”/ >)针对于三层架构的三个类,都是把类标注为Spring容器中的Bean。...

2022-08-04 20:10:15 67

原创 【spring】@Autowired @Resource自动装配

在启动spring IoC时,容器自动装载了一AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowied、@Resource或@Inject时,就会在IoC容器自动查找需要的bean,并装配给该对象的属性。在使用@Autowired时,首先在容器中通过类型(byType)查询对应类型的bean:......

2022-08-04 13:25:17 227

原创 理解泛型,看这一篇就悟了!

泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数具体的值泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型。

2022-07-30 22:36:02 125

原创 手写迭代器

以上简单的实现了迭代器常用的功能方法,事实上Iterator是一个接口,我们这里写的迭代器是可以通过构造器实例化的,但是其设计与源码接近。调用第一次next返回的就是集合中第一个元素(下标为0)调用第二次next返回的就是集合中第二个元素(下标为1)当调用到第四次时,下标就越界,于是就报错。方法去判断是否仍有元素可迭代。假如集合存放了三个元素。...

2022-07-30 15:07:39 164

原创 集合框架的总结

对于Map实现类HashMap是基于数组+链表+红黑树实现。而HashTable在此基础上多线程安全。对于List实现类ArrayList是基于数组实现,LinkedList是基于链表数据结构实现。对于Set实现类HashSet不允许重复数据,基于Map集合实现。Colletion是单列,Map是双列。List可重复,Set不可重复。.........

2022-07-30 14:20:00 95

原创 ArrayList的特性

ArrayList底层是封装了一个elementData数组,本质上通过数组来实现,当我们newArrayList时,以懒加载的形式(没有初始化容量),只有当我们使用它的比如add方法的时候,才会初始化容量。在此基础上,当添加的元素不够数组的长度,触发动态扩容机制,将原数组扩容成1.5倍(底层还是通过copyOf方法(从0开始覆盖,覆盖到长度为新的容量为止)实现elementData数组的初始化。ArrayList基于index下标查询效率高,因为可以直接通过下标定位然后返回,它的API是get方法。它的时

2022-07-30 12:12:11 262

原创 【Spring】p命名空间和c命名空间注入

因此c命名空间和p命名空间简化了依赖注入。在确保你的实体类有setter的情况下。在xml的头部,你需要加上这些xml约束

2022-07-29 17:17:34 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除