自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis总结(2)- MyBatis实现原理(三)

可以读作: “posts 是一个存储 Post 的 ArrayList 集合”。且在一般情况下,MyBatis 可以推断 javaType 属性,因此并不需要填写。动态Sql:解决在定义Sql映射时,where子句条件,SET子句,多条语句foreach的编写。

2024-06-11 11:21:05 574

原创 MyBatis总结(2)- MyBatis实现原理(二)

Mybatis做的精明之处就是在于将我们原本复杂的逻辑通过config配置,在经过factory的构建,整合成一个SqlSession给到我们,我们只需要关注到业务的实现,底层的技术细节帮我们处理好了。这里需要注意的是,对于将mapper配置放在src/main/java目录下的不能加载问题,第一篇初探有提到过。后面,总结Spring会发现这种扩展性的接口会更多,也为学习更多的架构层面的策略,以及技术的掌握提供很好的途径。学习最好的方式就是看源码,根据内置的实现,模仿着去实现自定义,就能理解其中道理;

2024-06-07 18:00:40 682

原创 MyBatis总结(2)- MyBatis实现原理(一)

概括一句话:约定配置参数mybatis-config.xml,映射关系JavaBean-mapper.xml,用SqlSessionFactoryBuilder构建应用程序运行期间需要的SqlSessionFactory实例对象,当请求或方法需要执行CURD操作时,通过SqlSessionFactory创建一个SqlSession对象,来进行对数据库的操作。

2024-06-06 17:01:33 1091

原创 MyBatis总结(1)- 初探

UserMapper.xml映射关系定义:一般将该映射xml放在UserMapper.java的同一个包下,以便能在config中注册mapper时被识别[一般放在resources下,以便创建SqlSessionFactory时读取。

2024-06-06 17:00:27 665

原创 Spring cloud初探遇到的问题

Provider/Consumer编写完后,consumer尝试post请求,通过restTemplate发送到Provider,更新数据调用时,发生500 error。会warning提示,并且当关闭微服务后,注册表中的服务信息也会随着关闭被注销移除掉。导入的Bean,依赖项注入进来,对应的class类满足条件,而且。通过开启多个Eureka服务(不同host,port),通过配置。自我保护机制,当注册表中的服务发生故障掉线,心跳机制终端,,所有不再需要注解配置,默认配置启动就能被发现注册。

2024-01-10 19:50:44 923 1

原创 Springboot 3.2.1 自动装配原理

加载读取工作:会对找出的所有配置类,配置类中的Method Bean, 配置类的importedResources以及配置类的ImportBeanDefinitionRegistrars进行读取,放置到。下查找到所有的config class,也会对查找的config class进行同样的遍历查找,找出所有的配置类。的思路,简化开发难度(通过IOC,AOP,以及注解的方式),让开发人员更专注于对业务的实现。基于Spring强大的生态,通过。中,等待随后的bean初始化,实例化过程,完成自动配置启动。

2024-01-09 11:49:50 1042

原创 Zookeeper+Dubbo+Springboot Demo集成相关问题

原因是 zkServer.cmd中%JAVA%无法被识别,环境变量没有配置。原因是 zoo.cfg配置中指令错误。(我有自定义修改相关的指令)重置后,重新copy zoo_sample.cfg后,解决。:文件名、目录名或卷标语法不正确。Windows下安装。解决:两种方式都可行。

2024-01-04 12:38:39 556 1

原创 Docker通过DockerFile自定义Centos 镜像

定义DockerFile

2022-10-25 19:42:24 1854 1

原创 基于Yeoman生成的AngularJS项目扫盲篇

AngularJS扫盲:一种构建动态web应用的结构化框架,通过扩展HTML的结构解决动态应用和静、动态文档之间的不匹配,比如说ng-directive指令去扩展HTML语法,双向绑定的方式绑定数据到HTML等。Yeoman生成的AngularJS项目的结构分析:应用访问的入口是index.html,其中有几点要注意的:a. ng-app 属性声明所有被其包含的内容都属于这个An...

2019-11-10 11:22:30 223

原创 Yeoman通过生成器创建AngularJS项目

1.淘宝 NPM 镜像安装由于npm太慢,npm默认源在国外,通过淘宝镜像,切换至国内,安装步骤:<1>. 确保npm安装成功。<2>. 通过以下命令执行,安装cnpm:npm install -g cnpm --registry=https://registry.npm.taobao.org一般情况下,就可以开始执行cnpm命令了,但或许在执行cnpm命令时,...

2019-11-09 11:47:24 316

原创 Spring Boot LocalDateTime序列化反序列

在项目中,实际的例子是:用户触发password changed event,listener执行update password事件,通过RabbitMQ Direct Exchange的方式发送数据给remote endpoint,remote endpoint接收数据,操作数据库表。其中环节:在发送/接收数据时,存在Java Bean 与 Message(一般为Json数据类型)的序列化与反...

2019-10-30 12:15:47 2118

原创 项目中所涉及的设计模式记录笔记

1.策略模式:a. 定义:UML类图(来自菜鸟教程)b. 常用设计原则:开闭原则(一个实体类对扩展开放,对修改关闭)依赖倒置原则(面向接口编程)里氏代换原则(尽量使用基类类型来对对象的定义)接口隔离原则(建立单一接口,细量化)聚合/组合复用原则(多用组合(黑箱复用),少来继承(白箱复用))迪米特原则(最少了解原则,高内聚,低耦合)单一职责原则(一个类只负责一项职责)c.文字描...

2019-07-18 12:37:27 209

原创 动态验证码的记录笔记

发送通知:client端:客户输入contact info(Email Address / Mobile Number)server端:在发送之前处理数据,判断:是否满足发送频率次数(10 s内只能发一次)是否验证失败次数已超过要求(只能允许4次验证失败,再失败就不允许该用户再次发送)在判断满足条件的基础之上,得到:根据用户guid+currentTimeMills(也被叫做发送...

2019-07-11 22:30:17 488

原创 JS原型链记录笔记

主要的概念有这么几个:_proto_(隐式原型),prototype(显式原型),constructor(构造器),原型对象,原型函数。需要提前说明一下几个概念:(摘要自 https://blog.youkuaiyun.com/yucihent/article/details/79424506)所有引用类型(函数,数组,对象)都拥有隐式原型属性。所有函数拥有prototype属性(显式原型)(仅限函...

2019-07-09 23:02:08 202

原创 记录Mybatis Generator自动生成例子

1.pom.xml文件配置:2. generatorConfig.xml:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http...

2019-07-03 00:40:32 166

原创 堆排序

(初稿)堆排序,毋庸置疑,是根据堆的数据特性进行排序,所以,首先我们需要了解一下关于堆的性质。堆,一种二叉树,一般分为有序堆(大顶堆(最大堆),小顶堆(最小堆)),无序堆。这里以大顶堆为例,特点有:父节点i总是大于左(2i+1)右(2i+2)节点。节点t的父节点为Math.floor(t/2)。代码书写参考自这位大神:作者: dreamcatcher-cx出处: http://ww...

2019-05-20 22:02:24 464

原创 io.netty.bootstrap.Bootstrap.channel(Ljava/lang/Class;)Lio/netty/bootstrap/Bootstrap

Exception in thread “main” java.lang.NoSuchMethodError: io.netty.bootstrap.Bootstrap.channel(Ljava/lang/Class;)Lio/netty/bootstrap/Bootstrap;自己编写Netty client端时,出现如上错误,原因是依赖包有冲突,原因如下:Project 右键 ->...

2019-04-10 20:29:45 2875

原创 Unit Test Demo实例(Version:Junit 4.12)

这里将说明的是,在Spring环境下的单元测试,主要是针对配置的说明:首先,在main/java下练习写下两种类:同时,定义applicationContext.xml:随后,定义test case,分别为:JunitServiceTest类,这是其中一种:另外一种,JunitResourceTest:其中,junit-test.xml的配置为:最后,为了测试方便,创...

2019-01-14 23:27:37 473

原创 SSM框架Demo实例

本实例仅仅是下来自己练习整理的编码,相比实际项目肯定是有差异存在,但整体的基本框架是一致的,另外,当然Spring-Boot的强大,已经不需要这一套繁琐的前期配置,的确如此,这个不在这里讲述。在有些地方可能没用到最新的编码方法去实现,希望不要介怀,同时也希望能互相交流学习。当前(2018-12-18),我只编写了Spring MVC的部分,后面会持续更新.1.project文件格局:2. ...

2018-12-18 23:10:30 372

原创 I/O通信编程实例以及说明

1.NIO通信:主要特点:Buffer,Channel,Selector(多路复用器)。原理:还未组织好,待更中。实例代码:Client端:Server端: 运行结果:今天先写在这里,后续更新补齐以及BIO,AIO通信和Netty框架。互相交流,如有错误,恭请斧正。...

2018-12-12 09:12:50 547

原创 Java单例模式的几种实现方式

2018-12-02 14:11:55 161

原创 有序集合的多种迭代总结

在实际编写代码常常用到集合的遍历,这里用代码编写总结常用的几种方法,直接上代码:1.for each方法可以用于实现了Iterable接口的对象中,而Collection接口继承扩展了Iterable接口,Collection是集合的接口,所以对于标准类库中任何集合都可以用这个方法。2.hasNext(),next()方法:hasNext()用来判断当前位置后续是否还有元素存在,也就是是否迭代...

2018-10-18 00:21:46 345

原创 Maven pom文件中属性变量总结

1.内置属性:${basedir}表示当前项目根目录;${version}表示当前项目版本。2.POM属性:${project.artifactId} 等价于元素的值,个人理解,本质上每个标签底层是通过对象的引用实现,也同样存在继承特性(仅仅是个人理解,供参考)。以此类推,可以发现很多这一类的属性定义。类似地,${project.build.sourceDirectory}:项目的主源码目...

2018-10-13 12:47:30 4299

原创 Eclipse新建maven project报错‘unable to add module to the current project as it is not of packaging...’

Eclipse新建maven project报错在搭建multi-module project,如下,快速新建一个maven project时:完整地码进artifactId and groupId,点击finish时,报如下错误:(第一次搭建时,会看到进度条eclipse有去下载maven-archetype.jar。对于没有联网不能下载的,可以配置镜像,在私服nexus上下载(这个需要...

2018-10-10 00:28:45 609

空空如也

空空如也

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

TA关注的人

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