自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自强博客

不要怕重复!只有付出200%的努力你才有可能看起来毫不费力!

  • 博客(61)
  • 收藏
  • 关注

原创 适配器设计模式 adapter design

适配器模式适配器的场景在生活中其实比较常见。 我们笔记本的电源,就叫电源适配器。当然还有很多其他的电源适配器,如手机充电器等。在这个场景中220V的全国统一电压是不可变更的原始电压(源角色)。而笔记本、手机需要的充电电压是我们需要的目标电压(目标角色)。那么从220V原始电压到目标电压,就需要一个适配器去处理(适配器角色)。通过对上述场景的分析。我们得到了适配器模式种的三个角色。除此之外,我们应该需要明确一点。适配者模式的使用场景,一般是在后期需求变化的情况下为了兼容新的需求,而不是在详细

2021-07-07 17:32:42 185

原创 工厂模式 工厂方法模式 抽象工厂模式 简单工厂模式 工厂模式于抽象工厂的区别 设计模式

工厂模式定义一个用于创建对象的接口,让子类实现具体类的创建。工厂将类的实例化延迟的子类。良好的分装性。对于具体产品,只要知道产品名称即可(类名或字符串),封闭了对产品创建的细节。屏蔽具体产品类。通过抽象产品接口,屏蔽了各个具体产品的实现细节。使用者只关心产品接口就行。比如,java中JDBC的模式,可以很方便的从mysql切换到Oracle。工厂方法模式,是典型的解耦框架。高层模块只需要知道产品的抽象类,符合迪米特法则。也符合依赖倒置原则,只依赖产品抽象类。也符合里氏替换原则,使用产品子类替换父产

2021-06-17 09:19:31 171

原创 单例模式 反射入侵 序列化入侵 饿汉式 懒汉式 双重校验锁 枚举 内部类

单例模式单例模式定义单例模式(singleton pattern)是一个比较简单的模式。即任何情况下,一个类在整个系统中都有且仅有一个实例。单例模式通用类图:单例模式的优点由于单例模式在内存中只有一个实例,减少内存开支,特别是一个对象需要频繁地创建销毁时,而且创建或销毁时性能又无法优化,单例模式就非常明显了由于单例模式只生成一个实例,所以,减少系统的性能开销,当一个对象产生需要比较多的资源时,如读取配置,产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来

2021-05-30 12:17:39 281

原创 nginx 负载均衡——实战

负载均衡负载均衡演示案例预备条件准备两个tomcat的服务器。这里我们在同一台Linux服务器上运行两个tomcat分别为8080和8081端口。(关于tomcat的准备这里不在过多介绍,可以自行网上搜索)。在8080端口的tomcat的webapps路径下。再创建一个lbt文件夹,也创建一个a.html的文件。文件内容如下。<html><h1>load banlance 8080</h1></html>同样我们在8080端

2021-05-17 09:34:06 412 1

原创 nginx 反向代理 实战

反向代理反向代理演示案例预备条件准备两个tomcat的服务器。这里我们在同一台Linux服务器上运行两个tomcat分别为8080和8081端口。(关于tomcat的准备这里不在过多介绍,可以自行网上搜索)。在8080端口的tomcat的webapps路径下。创建一个dev文件夹并创建一个a.html的文件。文件内容如下。<html> <h1>tomcat 8080 dev</h1></html>同样我们在8080端口的

2021-05-11 12:27:42 312 3

原创 Nginx初始化 安装 配置 启动

Nginx 首页Nginx 初始化nginx 简介Nginx是什么?Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。说明: 在使用安装、使用过程中可能会有一些问题,可以参考附件一 Nginx 常见问题速查表。nginx安装(Linux)安装nginx依赖pcre下载并解压pcre安装包下载地址https://sourceforge.net/projects/pcre/tar -xzvf pcre-8.35.tar.gz编译并安装pcre进入 .

2021-05-05 11:58:27 469

原创 Open Feign 实战笔记

Open Feign笔记概念声明式的web服务客户端。使用接口加注解的形式编程。它是对RestTemplate和ribbon做了进一步封装。Feign已经停更,OpenFeign是在Feign的基础上又做了进一步的封装。Feign:Feign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务。

2021-04-23 14:16:43 268

原创 spring cloud ribbon 负载均衡

Ribbon笔记概念ribbon是一个基于消费端的负载均衡组件。ribbon在客户端的使用1. pom配置在使用eureka作为服务注册的消费者,引入了最新的pom之后,默认是引入了ribbon的jar包,因此可以省略不再引入。<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eurek

2021-03-20 23:15:55 89

原创 spring cloud consul

Consul笔记返回微服务目录HOME服务端consul在windows下可以直接运行exe文件,访问http://localhost:8500即可。命令行启动也行 consul agent -dev客户端配置pom文件 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-d

2021-03-18 12:38:26 60

原创 spring cloud zookeeper

Eureka笔记返回微服务目录HOMEzookeeper服务端实现链接至Zookeeper教程zookeeper客户端实现zookeeper的客户端包含,消费端与服务端部分,消费端也是通过@LoadBalanced负载均衡来调用。与Eureka的架构原理类似。配置pom文件由于引入spring-cloud-starter-zookeeper-discovery时会自带zookeeper原始的jar包,可能会与服务器部署的zookeeper冲突,需要进行版本特殊处理。 <de

2021-03-18 11:15:08 136

原创 Zookeeper 安装配置

Zookeeper安装配置启动流程。1. 获取zookeeper安装包解压原始安装包apache-zookeeper-3.5.5-bin.tar.gz2. 配置文件zoo.cfg将conf目录中zoo_sample.cfg 文件复制一份zoo.cfg。修改必要的配置,一般修改dataDir数据存放路径。如需要集群则配置集群信息。 # The number of milliseconds of each tick tickTime=2000 # The number of ticks

2021-01-22 19:48:17 233

原创 spring cloud eureka 全实战笔记

Eureka笔记简介组件名语言CAP服务健康检查对外暴露接口Spring Cloud集成EurekaJavaAP可配支持HTTP已集成资源信息https://cloud.spring.io/spring-cloud-netflix/2.2.x/reference/html/#spring-cloud-running-eureka-serverEureka服务端配置步骤Eureka服务端pom文件配置 <-- springcloud1.5.

2020-12-17 14:43:30 238

原创 第二章Spring资源和配置开发环境-第二节eclipse插件安装教程

http://spring.io/

2020-06-20 14:07:38 292

原创 SpringMVC项目一Hello World

1,新建一个Dynamic Web Project项目。项目名称springmvc-001。2,

2020-06-20 14:07:25 376

原创 springmvc项目3-HiddenHttpMethodFilter与REST风格增删改查

0,项目springmvc003简介 通过使用org.springframework.web.filter.HiddenHttpMethodFilter拦截器、@RequestMapping的限制请求方式,来实现REST风格的增删改查。1,按照项目springmvc001搭建一个基本的springmvc框架。2,新建一个RestController类。我们注解的访问地址都是

2020-06-20 13:58:35 374

原创 springmvc项目4--映射POJO

项目简介: 自动映射POJO,而且能够级联映射。1,按照项目1搭建一个springmvc的web项目。2,新建两个实体类。Fahter类有一个Sun的成员变量。public class Father { private String name; private int age; private Sun sun; public String getName() {

2020-06-20 13:58:13 408

原创 springmvc项目5-使用Servlet原生API

项目简介在映射的方法参数中注入Servlet的9种原生API。1,使用项目1的方式搭建springmvc框架。2,新建一个ServletApiControl类。test方法中的九个对象即springmvc可以使用的severlet原生的api。其中呗注释的四个原生的api在使用的时候会产生二次读取request域中流的异常。相互之间会有冲突。由springmvc的Ann

2020-06-20 13:57:32 1400

原创 第二章Spring资源和配置开发环境-第一节spring资源网址 spring官网 eclipse插件 Spring jar包下载

一:开发工具清单spring官网:http://spring.io/。spring的eclipse插件地址:http://spring.io/tools/sts/all。spring的Jar包下载地址:http://maven.springframework.org/release/org/springframework/spring/

2020-06-20 13:57:09 391

原创 第一章自学spring简介,spring核心系列博客的介绍

本章介绍Spring的整体框架图,和学习路线图

2020-06-20 13:56:49 526 1

原创 第三章Spring的Hello World

一、Spring的Hello World程序。 根据IT界的惯例,学习一门新技术之前总是要搞一个Hello World的。我就从这个案例开始,在这之前的必要工作要先做好。例如jdk、eclipse、springIDE等等,主要相关准备在【Spring自学之路】目录中可以找到这里不再赘述。 首先我们在eclipse中新建一个普通的Java工程,命名为【spring001hello

2020-06-19 08:28:51 513

原创 第四章IOC:DI、DL概念 注入的方法

1.IOC:DI、DL概念控制反转(inversionofcontrol,英文缩写为IOC)是Spring框架的核心。控制反转实现方式一般有两种,依赖注入(DependencyInjection,简称DI)和依赖查找(DependencyLookup)。依赖注入应用比较广泛,依赖查找暂时不做讨论。在面向对象的开发过程中,我们的项目中的每个类往往都有相互之间的关系,这就

2020-06-19 08:28:36 1282

原创 第五章IOC:使用-XML装配Bean(五章第一节总体介绍)

一、IOC容器的使用-XML装配Bean 本节内容主要是介绍如何用xml来配置Bean,也就是配置spring容器的配置文件。主要一下几个部分入手。 -首先介绍一下如果配置一个标准的Bean 。 -注入属性,即如何为Bean的属性注入相应的值。 -工厂创建Bean,如何用工厂的方式获取Bean的实例。 -Bean的关系,通过XML配置文件来实现Bean之间的相互关系。

2020-06-19 08:28:13 236

原创 第五章第二节-spring注入属性

本节介绍如何配置一个最原始的Bean,通过构造器注入方式和属性注入的方式为Bean的属性注入值。简单介绍一下spring各个xml命名空间的作用。

2020-06-19 08:27:30 332

原创 第五章第三节-工厂创建Bean

我还是以一个小项目来进行介绍。创建一个普通的java项目,也是和HelloWorld中创建的项目一样。这里主要涉及Person.java就是一个普通的Bean类,FactoryBeanImpl.java、InstanceFactory.java、StaticFactory.java这三个就是我们将要使用的工厂类,MainTest.java测试类,spring.xml容器的配置文件。他们的完整代码见

2020-06-19 08:27:13 412

原创 第五章第四节-bean的关系

本节内容,介绍在spring的xml配置文件中配置各类bean之间的关系,例如引用bean,内部bean,继承bean,抽象bean等等。

2020-06-19 08:26:51 257

原创 第五章第五节-bean的范围

介绍在xml中设置bean的范围,使用scope属性。

2020-06-19 08:26:35 312

原创 第五章第七节-自动装配Bean

介绍通过配置xml中bean的autowired属性来自动注入引用类型的属性值。

2020-06-19 08:25:57 204

原创 第五章第八节-P命名空间

本节介绍spring配置文件的P命名空间。(后面有本节完整的代码)创建一个Person的bean类,有private String name;private int age;两个成员(有setter风格的方法)。按照以前的属性注入方式肯定使用构造器和属性注入的方法。这里不再使用之前的方式,在引入P命名空间后,使用p:age=""和p:age-ref=""的方式注入即可。也就是做了一个简化

2020-06-19 08:25:39 223

原创 第五章第九节-property-placeholder加载外部属性文件

本节也以一个小项目来做介绍,还是和HelloWorld的项目一样,不过多加了c3p0-0.9.1.2.jar和mysql-connector-java-5.1.34.jar的包。项目是以配置数据库的连接作为演示。项目中TestMain.java是测试类;db.properties是外部的属性文件(和spring配置文件一样放在src下);spring.xml是IOC容器配置文件。

2020-06-19 08:25:23 1186

原创 附录二:Spring的各类jar包说明

spring-beans和spring-core两个jar包主要提供了spring框架的基础能力,主要包括IOC和依赖注解两大特征,这两大特征在BeanFactory接口的基础上及其相应的衍生接口和类中得到了实现。在IOC部分详细讨论。spring-context是在Core和Beans的基础上建立的功能模块,他继承了Beans和Core中的一些基本功能,同时增加了对诸如

2020-06-18 08:32:37 281

原创 maven错误锦集- Could not transfer artifact com.oracle:ojdbc14:jar:10.2.0.4.0

一、提示的错误信息:Could not transfer artifact com.oracle:ojdbc14:jar:10.2.0.4.0二、项目中pom.xml文件中的配置 10.2.0.4.0 com.oracle ojdbc14 ${oracle.driver.version} runtime 三、解决的办法下载提出出错的jar包,这

2020-06-18 08:32:18 4729

原创 5.1.1-2,XSD简介 beans的XSD文档声明

所有注册到spring容器的对象,都被叫做bean。这些bean集合起来就叫做beans,这样理解起来比较容易。当然在beans不是只能包含bean元素还有其他的也是可以,这里就不在展开来讲。 关于的XSD,也就是配置文件的文档声明,spring的配置文件提供相应的标签支持。通常在只引入spring-beans.xsd的情况下,beans中的声明如下所示。Spring2.0之后

2020-06-18 08:31:43 488 2

原创 Mybatis 学习思维导图 学习目录

1 Mybatis.21.1 helloword.21.2 configuration.41.2.1 properties.41.2.2 settings.51.2.3 typeAliases.91.2.4 typeHandlers.101.2.5 objectFa

2020-06-18 08:31:21 376

原创 第五章第六节-装配集合

按照spring的HelloWorld案例,创建一个项目。涉及的bean类三个Car.javaHouse.javaPerson.java,其中Car和House是Person的成员。DataBase.java类是测试Properties属性的。MainTest.java是一个有main函数的测试类。spring.xml是容器配置文件(结尾有整个项目的完整代码)。一、配置List和Ma

2020-06-18 08:30:53 185

原创 TortoiseGit 同步 gitlab git

摘要:利用ToriseGit和Git 同步gitlab的远程仓库。1,安装下面两个软件 和 生成密钥、公钥安装TortoiseGit、Git-2.11.1-64-bit 软件。2,生产git、TortoiseGit、gitlab三方关联的公钥和密钥。第一步用git生产私钥和公钥文件。打开git软件的工具,在弹出的控制台中输入如下命令:$ ss

2020-06-18 08:30:20 1862

翻译 javaSE观察者模式Observer和Observable--相关api的翻译

java观察者模式涉及到的连个API 翻译

2020-06-18 08:29:26 422

原创 Mybatis HelloWorld

一、记忆:1,导入mybatis的jar包和相应数据库驱动。2,配置mybatis全局配置文件。3,创建实体类及对应的mapper文件。4,创建测试类获取mybatis全局配置文件。创建session工厂。创建session(事务默认开启,只需要事务提交的方式;hibernate需要手动开启事务)。查询数据库。提交事务(自动或手动)。提交session。

2020-06-18 08:28:29 154

原创 springmvc项目二RequestMapping注解

1,新建一个web项目,按照【springmvc项目一】的方式搭建好即可。2,在新项目的WEB-INF的文件夹中新建一个views的文件夹,然后在views中新建一个success.jsp文件。在工程目录下(eclipse默认为WebContent)新建一个index.jsp。当前的两个jsp文件暂时没有其它内容,后面的操作中将逐一添加需要的代码。3,新建一个TestRequestMa

2020-06-18 08:28:14 409

原创 第六章IOC:使用注解装配bean

本节介绍使用注解的方式来装配Bean。当然对于xml配置文件还是需要的,但可以极大减少xml的配置内容。在这之前先为大家介绍一下四种类型的注解。括号中是我自己理解一些概念。需要了解的是spring框架本身是无法区分这些组建的作用,也就是说它只是都当作一个组建扫描,只是我们在使用的过程中来区分应用。@Component 基本注解, 标识了一个受 Spring 管理的组件。@Repo

2020-06-18 08:26:35 245

原创 Mybatis 全局配置 二级缓存 cacheEnabled

<!--影响全局的二级缓存,true二级缓存有效(default),false无效--><setting name="cacheEnabled" value="true"/>

2020-06-17 08:39:41 1006

空空如也

空空如也

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

TA关注的人

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