自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (2)
  • 收藏
  • 关注

原创 @ConfigurationProperties放在类上跟放在方法上有什么区别

声明数据源的时候,在类上写@ConfigurationProperties(prefix = “druid.spring.datasource”)查询的时候对应的数据源是没有绑定的注:这个表示的意思是,使用"druid.spring.datasource"的配置来初始化DruidDataSourceConfig类,初始化这个类的时候,对应的配置就是druid.spring.datasource+字段名称@ConfigurationProperties(使用properties文件中的配置值初始化配置

2021-06-27 17:00:36 947

原创 Spring-Boot数据源

1、数据源的自动配置类DataSourceConfiguration

2021-06-20 22:24:29 1101

原创 SpringBoot成功启动后自动关闭

1、 SpringBoot成功启动后自动关闭原因:pom文件中没有添加 springboot-starter-web <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>...

2021-06-14 20:25:15 487

原创 腾讯云CentOS7.6搭建rabbitMq

需要注意的点:1、注意Erlang和RabbitMq的版本一定要匹配,版本不一致会导致rabbitmq启动不了;Erlang和RabbitMQ版本信息2、安装方式:腾讯云中安装RabbitMq此种安装方式中没有考虑erlang和rabbitmq的版本问题;版本和erlang匹配见:centos安装rabbitmq...

2021-01-31 18:35:52 434

原创 Mybatis插件-责任链模式

责任链模式:将完整的、臃肿的接受者的实现逻辑拆分到多个只包含部分逻辑的、功能单一的Handler处理类中,开发人员可以根据业务需求将多个Handler对象组合成一条责任链,实现请求的处理。在一条责任链中,每个Handler对象都包含对下一个Handler对象的引用,一个Hanlder对象处理完请求消息(或不能处理该请求)时,会把请求传给下一个Handler对象继续处理,依次类推,直至整条责任链结束。场景:消息中有ABC三个字段,接受者HandlerA,HandlerB,HandlerC分别实现了处理三个

2021-01-21 23:30:23 476

原创 mybatis事务DefaultSqlSession-策略模式

背景:定义多种行为,根据不同的场景选择不同的行为;策略模式:定义了一些列算法,将每一个算法封装起来,由不同的类进行管理,并让他们之间相互替换。这样,每种算法都可以独立地变化。Context:行为的调用者Strategy:行为的统一抽象接口ConcreteStrategy:具体的算法实现(多个)行为增加时:增加ConcreteStrategy;策略方案变更时:新增Context;可以将反射技术和策略模式结合,这样应用程序就不需要了解所有Strategy接口实现类,而是在运行时通过反射的方式创建实

2021-01-21 22:01:37 770

原创 Mybatis缓存和事务管理-模板模式

**背景**:某个方法要实现的算法需要多个步骤,但其中有一些步骤是固定不变的,而另一些步骤则是不固定的。为了提高代码的可扩展性和可维护性,模板方法模式在这种场景下就派上了用场。在模板方法模式中,一个算法可以分为多个步骤,这些步骤的执行次序在一个被称为“模板方法”的方法中定义,而算法的每个步骤都对应着一个方法,这些方法被称为“基本方法”。模板方法按照它定义的顺序依次调用多个基本方法,从而实现整个算法流程。在模板方法模式中,会将模板方法的实现以及那些固定不变的基本方法的实现放在子类中,而那些不固定的基本方法在

2021-01-21 21:20:44 294 1

原创 Mybatis动态sql处理——组合模式

组合模式:将对象组合成树形结构,以表示“部分-整体”的层次结构(一般是树形结构)。用户可以像处理一个简单对象一样处理一个复杂对象,从而使得调用者无须了解复杂元素的内部结构。抽象组件 (Component):Component接口定义了树形结构中所有类的公共行为,例如这里的operation()方法。一般情况下,还会定义一些用于管理子组件的方法,例如add(),remove(),getChild();树叶(Leaf):Leaf在树形结构中表示叶节点对象,叶节点没有子节点。树枝(Composite):定义

2021-01-19 23:05:20 304

原创 Mybatis映射文件XML解析-建造者模式

建造者模式:将一个复杂对象的构建过程分成了一步步简单的步骤,用户只需要了解复杂对象的类型和内容,而无须关注复杂对象的具体构建过程,帮助用户屏蔽掉了复杂对象内部的具体构建细节。建造者Bilder接口:Builder接口用于定义建造者构建产品对象的各部分的行为。具体建造者ConcreteBilder:在建造者模式中,直接创建产品对象的是具体建造者。具体建造者必须实现建造者接口所要求的两类方法:一类是建造方法,例如buildPart()等方法;另一类是获取构建好的产品对象的方法buildProduct();

2021-01-19 22:06:26 460

原创 Mybatis缓存模块-装饰器模式

背景:在实践生产中,新需求在软件的整个生命过程中总是不断出现的。当有新需求出现时,就需要为某些组件添加新的功能来满足这些需求。添加需求的方式1、直接修改已有代码并添加新的功能。——破坏原有系统的稳定性,违反“开放-封闭”原则。2、使用继承,创建子类并在子类中添加新功能实现扩展。——已有组件被final修饰不可行,待添加的新功能存在多种组合,使用继承方式可能会导致大量子类的出现。3、装饰器模式——基于组合的方式实现该功能。装饰器包含的角色:Component(组件):组件接口定义了全部组件实现类以

2021-01-18 23:13:42 482 1

原创 工厂模式-数据源+事务

工厂方法模式工厂模式:定义一个创建对象的工厂类,根据工厂接口的具体实现类决定具体实例化哪一个具体产品类。工厂方法模式有四个角色构成工厂接口(Factory):工厂接口是工厂方法模式的核心接口,调用者会直接与工厂接口交互用于获取具体的产品实现类。具体工厂类(ConcreteFactory):具体工厂类是工厂接口的实现类,用于实例化产品对象,不同的具体工厂类会根据需要实例化不同的产品实现类。产品接口(Product):产品接口用于定义产品类的功能,具体工厂类产生的所有产品对象都必须实现该接口。调用者一

2021-01-17 23:55:16 296

原创 代理模式-JDBC调试

Mybatis技术内幕-设计模式与应用场景总结2、代理模式和JDK动态代理静态代理模式静态代理模式中涉及到的角色:Suject:是程序中的业务逻辑接口;RealSubject:是实现了Subject接口的真正业务类;Proxy:是实现了Subject接口的代理类,其中封装了RealSubject对象。在程序中不会直接调动RealSubject对象的方法,而是使用Proxy对象实现相关功能。代理模式:Proxy.operation()方法的实现会调用RealSubject对象的operation

2021-01-17 22:37:10 253

原创 适配器模式-日志模块

Mybatis技术内幕-设计模式与应用场景总结1、适配器模式主要解决由于接口不能兼容而导致类无法使用的问题,适配器模式会将需要适配的类转换成调用者能够使用的目标接口。主要涉及以下几个角色:目标接口Target:调用者能够直接使用的接口;需要适配的类Adaptee:Adaptee中有真正的业务逻辑,但是不能被调用者直接使用;适配器:Adapter实现了Target接口,并包装一个Adaptee对象,Adapter在实现Target接口中的方法时,会将调用委托给Adaptee对象的相关对象,由Adap

2021-01-17 22:35:40 187

原创 Mybatis技术内幕-设计模式与应用场景总结

Mybatis技术内幕-设计模式与应用场景总结1、适配器模式主要解决由于接口不能兼容而导致类无法使用的问题,适配器模式会将需要适配的类转换成调用者能够使用的目标接口。主要涉及一下几个角色:目标接口Target:调用者能够直接使用的接口;需要适配的类Adaptee:Adaptee中有真正的业务逻辑,但是不能被调用者直接使用;适配器:Adapter实现了Target接口,并包装一个Adaptee对象,Adapter在实现Target接口中的方法时,会将调用委托给Adaptee对象的相关对象,由Adap

2021-01-17 13:43:52 288

原创 Java反射

反射Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射是框架的灵魂,它可以有效地降低类之间的耦合,很多框架都运用了反射原理,例如hibernate 的实体类,Spring的AOP等等都有反射的实现。获取公共构造器 getConst...

2020-04-05 09:41:22 150

原创 设计模式

基础1、抽象父类为子类提供一些属性和行为,子类根据业务需求实现具体的行为。抽象类使用abstract进行修饰,子类要实现所有的父类抽象方法否则子类也是抽象类。2、封装把对象的属性和行为(方法)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节;在java中,对于对象的内部属性一般用private来实现隐藏,并通过set和get方法对外提供访问接口。3、继承子类继承父类的属性和行为...

2020-04-05 09:36:51 522

原创 Effective Java总结

一、创建和销毁对象1、考虑用静态工厂方法代替构造器静态工厂方法和设计模式中的工厂方法模式不同静态工厂方法和构造器不同的优势在于:(1)静态工厂方法可以自定义方法名称,而构造器的方法名称只能和类名相同。(2)静态工厂方法不必在每次调用它们的时候都创建一个新的对象。(3)静态工厂方法可以返回原返回类型的任何子类型的对象。(4)静态工厂方法在创建参数化实例类型的时候,他们使代码更加简洁。...

2020-04-05 09:11:33 730

原创 Java核心技术

回调:一种常见的程序设计模式,在这种设计模式中,可以指出某种特定事件发生时应该采取的动作。(监听)1、在指定事件做某事;2、在指定事件发生时做某事;对象对于克隆很偏执,如果一个对象请求克隆,但没有实现这个接口,就会生成一个受查异常。克隆的时候即使使用clone的默认浅拷贝方法可以实现需求,但是还是需要实现Cloneable接口,将clone重新定义为public,再调用super.clon...

2020-04-04 23:17:06 188

原创 JVM

走进JAVA1、摆脱了硬件平台的束缚,实现了”一次编写,导出运行”的理想。2、提供了一个相对安全的内存管理和访问机制,避免了绝大多数内存泄漏和指针越界问题。3、实现了热点代码检测和运行时编译及优化。这使得java应用能随着运行时间的增加而获得更高的性能。4、有一套完整的应用程序接口和许多第三方库。不惑:不依赖书本和其他人就能得到问题的答案。jdk=java+jvm+API=java+j...

2020-04-04 23:10:06 359

原创 Spring源码

Spring源码Spring-ContextSpring通过应用上下文(Application Context)装载bean的定义并把它们组装起来。Spring应用上下文全权负责对象的创建和组装。Spring自带了多种应用上下文的实现,它们之间主要的区别仅仅在于如何加载配置。Spring-Beansspring-beans负责实现Spring框架的IOC模块Spring-AopSpri...

2020-04-04 23:08:33 113

原创 Spring的多线程

Spring的多线程一、点睛Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor。实际开发中一般是非阻塞的,即异步的,所以我们要在配置类中通过@EnableAsync开启对异步任务的支持,并通过在实际执行的Bean的方法中使用@Async注解来声明其是一个异步任务。二、...

2020-04-04 23:07:33 194

原创 Redis

1.访问redis根目录 cd /usr/local/redis-2.8.192.登录redis:redis-cli -h 127.0.0.1 -p 63793.查看所有key值:keys *4.删除指定索引的值:del key5.清空整个 Redis 服务器的数据:flushall6.清空当前库中的所有 key:flushdb如何登录1、查看apollo配置知道需要登录的主...

2020-04-04 23:05:46 132

原创 Linux总结

重要的Linux基础命令1、基本命令1.1 关机和重启关机shutdown -h now 立刻关机shutdown -h 5 5分钟后关机poweroff 立刻关机重启shutdown -r now 立刻重启shutdown -r 5 5分钟后重启reboot 立刻重启...

2020-04-04 22:46:05 426

原创 开发模式

1、瀑布式开发<预见性的开发模式>:强调系统开发应该有完整的周期,且必须完整的经历每个周期内的每个开发阶段,并系统化的考量分析所涉及的技术、时间和资源。主要问题是严格分级导致自由度降低,项目早期做出的承诺会导致对后期需求的变化难以调整并且代价很大。使用该方法的前提是需求必须要明确。2、迭代式开发:迭代增量开发,与瀑布式开发相反,整个开发工作被组织成一系列短小的包含需求分析、设计、开发...

2020-04-04 22:34:22 537

原创 SpringCloud组件

SpringBoot中的常见配置(application.properties)SpringCloud组件Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现...

2020-04-04 20:03:43 181

原创 Structs中如何配置Action

1、https://blog.csdn.net/ldl420783321/article/details/7546607 (如何配置Action)2、8080端口占用https://blog.csdn.net/xiaoshunzi111/article/details/50144613在开始菜单->运行->cmd->输入 netstat -ano 命令,可以查看哪个...

2020-04-04 10:57:15 280

原创 设计模式目的

设计模式创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。1、单例模式意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。如何解决:判断系统是否已经有这个单例,如...

2020-04-03 23:13:51 319

原创 分布式微服务架构设计原理

一、分布式为服务架构设计原理背景:1、传统的软件技术更倾向服务于企业,用户较少,所以传统的企业级技术无法满足互联网产品服务于海量用户的需求。2、之前的部署方式:部署在同一个应用服务器上,跑在一个JVM进程中。ORM-对象关系映射att: 高度抽象的ORM框架被证明有性能上的瓶颈,后来大家都更加倾向于使用更加灵活的MyBatis来实现ORM层。ESB-企业服务总线EJB-企业级Jav...

2020-04-03 23:13:12 448

原创 O2O错误记录

错误记录1、Error creating bean with name ‘dataSource’ defined in class path resource[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory metho...

2020-04-03 23:11:00 1965

原创 SpringBoot汇总

https://baijiahao.baidu.com/s?id=1623648034778672046&wfr=spider&for=pcSpring的一个简单概述https://www.cnblogs.com/bigdata-stone/p/10668429.htmlcannot resolve symbol ‘springframework’https://blog....

2020-04-03 23:08:20 206

原创 Maven

Annotation1、@RestController和@GetMapping等等注解都是由依赖得到的 org.springframework.boot spring-boot-starter-web@Target –注解用于什么地方,默认值为任何元素,表示该注解用于什么地方。可用的ElementType指定参数@Retention –什么时候使用该注解,即注解的生命周期,使...

2020-04-03 23:07:34 89

原创 spring注解汇总

Spring注解汇总一、元注解1、@Documented:表示含有此注解的注解应该被Javadoc工具记录,默认注解是不记录的。2、@Inherited:表示含有此注解的注解可以被子类继承,只能用在类上。3、@Retention(RUNTIME):表示含有此注解的注解会保留到哪个。 例如:SOURCE–只在源代码级别保留,编译时就会被忽略。、CLASS–编译时被保留,在class文件中...

2020-04-03 23:01:34 262

原创 HTTP总结

Http基础:1、客户端请求消息客户端发送一个HTTP请求到服务器的请求消息包括以下格式:(1)请求行(request line): 用来说明请求类型,要访问的资源以及所使用的HTTP版本。(2)请求头部(header): 用来说明服务器要使用的附加信息。(3)空行: 请求头部后面的空行是必须的,即使第四部分的请求数据为空,也必须有空行。(4)请求数据: 请求数据也叫主体,可以添加任意的...

2020-04-03 23:00:28 356

原创 Docker——理解容器

https://www.cnblogs.com/misswangxing/p/10669444.htmlIT里的容器技术是英文单词Linux Container的直译。然而,随着时间推移,用户发现hypervisor这种方式麻烦越来越多。为什么?因为对于hypervisor环境来说,每个虚拟机都需要运行一个完整的操作系统以及其中安装好的大量应用程序。但实际生产开发环境里,我们更关注的是自己部署...

2020-04-03 22:58:18 835

原创 堡垒机以及相关指令

堡垒机(跳板机)https://blog.csdn.net/lala12d/article/details/82414765现在一定规模互联网企业,往往都拥有大量服务器,如何安全并高效的管理这些服务器是每个系统运维或安全运维人员必要工作。现在比较常见的方案是搭建堡垒机环境作为线上服务器的入口,所有服务器只能通过堡垒机进行登陆访问。因此需要通过终端连接到远程开发机进行工作,由于安全等因素,登录...

2020-04-03 22:57:21 3813

原创 K8S常见命令

http://docs.kubernetes.org.cn/490.html详细的见oneNote中k8sK8S常见命令:1、获取节点相应服务的信息kubectl get pods|grep ocular2、按selector名来查找podkubectl get pod --selector name=redis3、查看deployment相关信息kubectl get deplo...

2020-04-03 22:56:21 549

原创 GIT基本命令

Gitgit config core.sparsecheckout trueecho user-app/mongodb >> .git/info/sparse-checkoutgit clone git@code.paic.com.cn:git/dds-replicaset.git mastergit stashgit stash popgit命令:pwd:命令用于显示当...

2020-04-03 22:55:26 289

原创 文件上传、下载功能、导出Excel

这周做练习的时候主要是通过“单位新登记”模块来学习文件上传、下载以及导出到EXCEL,下面对这三个部分分别做一下总结。1.文件上传1.1 业务背景: 现要对所有格式的文件进行上传,上传的方式有web和fpt两种,由于我现在只用了web方式,ftp方式等实践了之后进行追加。1.2 代码实现: doUpload()函数里面的url调用了核三框架里面的Action,该Action返回了framew...

2020-04-02 22:52:45 260

原创 核三框架流程

1.流程定义流程定义描述的是系统中有哪些种类的流程、每种流程包括哪几个步骤(即环节),每个步骤有哪些后续步骤。流程定义的内容存储在数据库表中,需要使用数据库sql脚本完成流程定义的工作。数据库表为WF_ACTION_DEF(联合主键为流程定义(process_def_id)+ 环节定义(action_def_id))2.流程权限菜单3.流程环节配置 表:WF_ACTION_DEF4...

2020-04-02 22:52:17 273

原创 Access denied for user 'root'@'localhost' (using password: YES)

一、出现access denied的原因有如下可能:1)mysql的服务器停止(一般为此情况)2)用户的端口号或者IP导致3)mysql的配置文件错误----my.ini等文件4)root用户的密码错误(一般为此情况)原文地址:https://blog.csdn.net/zwj1030711290/article/details/80823161Myeclipse的配置文件写好之后记...

2019-07-05 15:42:38 13879

Structs实现简单登录

Structs入门基础实践:实现简单登录源代码Structs入门基础实践

2019-03-16

Java词法分析

词法分析编译原理,Swing界面+代码设置+分析器+文本分析+文件读取

2018-04-18

空空如也

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

TA关注的人

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