只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2020-02-18 15:27 codedot 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一、常见服务器 WebLogic(BEA)、webSphere(IBM)、Tomcat(Apache) 二、Tomcat的下载与安装 下载地址:https://tomcat.apache.org/ 安装目录不能包含中文和空格。 因运行tomcat需要JDK,所以请先配置好JDK的环境变量。 端口占用 阅读全文
posted @ 2020-12-10 19:58 codedot 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 1 阅读全文
posted @ 2020-12-09 12:43 codedot 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 一、GatewayFilter 网关过滤器 GatewayFilter介绍 GatewayFilter 网关过滤器用于拦截并链式处理web请求,可以实现横切的与应用无关的需求,比如:安全、访问超时的设置等。 从类图中可以看到,GatewayFilter 有三个实现类: OrderedGatewayF 阅读全文
posted @ 2020-12-09 12:42 codedot 阅读(665) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud Gateway 包含许多内置的Route Predicate Factories。所有这些谓词都匹配HTTP请求的不同属性。多个 Route Predicate Factories 可以通过逻辑与(and)结合起来一起使用。 每一个Predicate的使用,你可以理解为:当 阅读全文
posted @ 2020-12-09 12:41 codedot 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 1 阅读全文
posted @ 2020-12-09 12:39 codedot 阅读(109) 评论(0) 推荐(0) 编辑
摘要: API网关作为后端服务的统一入口,可提供请求路由、协议转换、安全认证、服务鉴权、流量控制、日志监控等服务。那么当请求到达网关时,网关都做了哪些处理以及怎么处理的呢? 一、Spring Cloud Gateway 网关处理流程 请求发送到网关, DispatcherHandler 是HTTP请求的中央 阅读全文
posted @ 2020-12-09 12:34 codedot 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 一、Spring Cloud Gateway是什么 Spring Cloud Gateway 基于 Spring Boot 2, 是 Spring Cloud 的 全新 项目, 该项 目 提供 了 一个 构建 在 Spring 生态 之上 的 API 网关, 包括 Spring 5、 Spring 阅读全文
posted @ 2020-12-09 12:31 codedot 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 前提:提供一个注册中心,可以使用Eureka Server。供gateway转发请求时获取服务实例。 一、新建GateWay项目 1、引入maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spr 阅读全文
posted @ 2020-12-09 12:28 codedot 阅读(945) 评论(0) 推荐(0) 编辑
摘要: 一、网关的演化 单体应用拆分成多个服务后,对外需要一个统一入口,解耦客户端与内部服务。 二、网关的基本功能 API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载 阅读全文
posted @ 2020-12-07 08:52 codedot 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 为了模拟集群环境,本地项目一个项目按不同端口多启动,如何配置多个端口同时启动。 1、首先,你得有一个springboot项目,然后点击修改运行配置 2、将你的项目配置的右上角的Allowl parallel run勾上(允许多启动) 3、添加上-Dserver.port=9006 4、正常启动项目即 阅读全文
posted @ 2020-12-06 17:08 codedot 阅读(6050) 评论(0) 推荐(1) 编辑
摘要: rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。 一、安装Erlang 下载地址:https:// 阅读全文
posted @ 2020-12-06 16:18 codedot 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 一、SpringBoot可以有哪些配置文件 bootstrap与application 加载顺序 bootstrap.yml(bootstrap.properties)先加载 application.yml(application.properties)后加载 bootstrap.yml 用于应用程 阅读全文
posted @ 2020-12-05 22:36 codedot 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 对于一些简单的项目来说,我们一般都是直接把相关配置放在单独的配置文件中,以 properties 或者 yml 的格式出现,更省事儿的方式是直接放到 application.properties 或 application.yml 中。但是这样的方式有个明显的问题,那就是,当修改了配置之后,必须重启 阅读全文
posted @ 2020-12-05 18:56 codedot 阅读(552) 评论(0) 推荐(0) 编辑
摘要: Eureka采用的是Server/Client的模式进行设计。Server扮演了服务注册中心的角色,为Client提供服务注册和发现的功能,维护着注册到自身的Client的相关信息,同时提供接口给Client获取到注册表中其他服务的信息。Client将有关自己的服务的信息通过一定的方式登记到Serv 阅读全文
posted @ 2020-12-05 10:02 codedot 阅读(2134) 评论(0) 推荐(1) 编辑
摘要: 一、基本功能 对于微服务架构,服务注册与发现组件是必不可少的。在传统的服务架构中,服务的规模处于运维人员的可控范围内。当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定。在微服务应用中,服务实例的数量和网络地址都是动态变化的。 服务注册和服务发现 在一个分布式系统中,服务注册与发现组件 阅读全文
posted @ 2020-12-04 08:53 codedot 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 特别注意:java只有值传递没有引用传递。 一、值传递和引用传递的定义 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。 引用传递(pass by reference)是指在调用函数时将实际参数的地址直接传递到 阅读全文
posted @ 2020-12-03 08:38 codedot 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 一、创建父工程 1、选择maven,直接-->next 2、填写项目相关的信息,next 3、填写项目名和项目位置-->finish 4、修改pom.xml文件,内容如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://ma 阅读全文
posted @ 2020-12-02 23:02 codedot 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 大版本对应 在实际开发过程中,我们需要更详细的版本对应: 阅读全文
posted @ 2020-12-02 23:01 codedot 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 一、什么是微服务 微服务架构是一种架构风格和架构思想,将系统业务按照功能拆分为更加细粒度的服务,所拆分的每一个服务都是一个独立的应用,这些应用对外提供公共的API,可以独立承担对外服务的职责。通过此种思想方式所开发的软件服务实体就是“微服务”,围绕着微服务思想构建的一系列体系结构(包括开发、测试、部 阅读全文
posted @ 2020-12-02 23:00 codedot 阅读(147) 评论(0) 推荐(1) 编辑
摘要: 一、配置随机数 RandomValuePropertySource可以用于注入随机数,它支持integer、long、uuid、string。 my.secret=${random.value} my.number=${random.int} my.bignumber=${random.long} 阅读全文
posted @ 2020-12-02 12:31 codedot 阅读(188) 评论(0) 推荐(0) 编辑
摘要: spring-boot-starter-test提供了很多注解用于测试,接下来我们就一一介绍。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifac 阅读全文
posted @ 2020-12-01 13:23 codedot 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 官方文档:https://docs.spring.io/spring-boot/docs/2.3.6.RELEASE/reference/htmlsingle/#boot-features-external-config-application-property-files 一、springboot 阅读全文
posted @ 2020-12-01 13:19 codedot 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: Spring读取配置文件的几种方法,SpringBoot也都支持。具体查看:https://www.cnblogs.com/myitnews/p/14028588.html 本文主要介绍SpringBoot独有的一种读取方法,使用注解:@ConfigurationProperties。 使用 @Va 阅读全文
posted @ 2020-12-01 13:18 codedot 阅读(4101) 评论(0) 推荐(1) 编辑
摘要: 一、SpringBoot starter机制 SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆 阅读全文
posted @ 2020-12-01 09:10 codedot 阅读(439) 评论(0) 推荐(0) 编辑
摘要: starter名称 starter描述 starter依赖项 spring-boot-starter 核心启动器,包含了自动配置、日志和YAML。 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <art 阅读全文
posted @ 2020-12-01 09:04 codedot 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一、Springboot诞生的技术基础 Spring的发展历史 (1)spring1.0时代 Spring的诞生大大促进了JAVA的发展。也降低了企业java应用开发的技术和时间成本。(2)spring2.0时代 对spring1.0在繁杂的xml配置文件上做了一定的优化,让配置看起来越来越简单,但 阅读全文
posted @ 2020-11-30 12:42 codedot 阅读(520) 评论(0) 推荐(2) 编辑
摘要: ApplicationContextInitializer 首先看spring官网的介绍: 翻译下来就是说: 用于在spring容器刷新之前初始化Spring ConfigurableApplicationContext的回调接口。(就是在容器刷新之前调用该类的 initialize 方法。并将 C 阅读全文
posted @ 2020-11-29 14:54 codedot 阅读(673) 评论(0) 推荐(0) 编辑
摘要: @SpringBootApplication 约定优于配置。 @SpringBootApplication=@ComponentScan+@Configuration+@EnableAutoConfiguration。 放在主程序入口类上, 主程序入口类(启动类) 放在root 包下,这样程序启动时 阅读全文
posted @ 2020-11-29 14:53 codedot 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 一、SpringApplication类初始化过程 SpringBoot项目的main函数 常规的这个主类如下图所示,我们一般会这样去写。 在这个类中需要关注的是: @SpringBootApplication SpringApplication.run() 关于 @SpringBootApplic 阅读全文
posted @ 2020-11-29 14:38 codedot 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 一、在线引导创建:https://start.spring.io/ File -> New -> Project... 填写Group、Artifact、Package(默认的包路径) 选择SpringBoot版本及希望依赖的组件 选择项目本地路径 pom.xml内容如下: <?xml versio 阅读全文
posted @ 2020-11-29 12:04 codedot 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一、spring整合logback logback介绍 (1)、根节点<configuration>有三个属性debug 、scan 、scanPeriod debug : 默认为false ,设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。 scan : 配置 阅读全文
posted @ 2020-11-26 09:07 codedot 阅读(856) 评论(0) 推荐(0) 编辑
摘要: 1 阅读全文
posted @ 2020-11-25 21:18 codedot 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 一、国际化(i18n)介绍 国际化也称作i18n,其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数。由于软件发行可能面向多个国家,对于不同国家的用户,软件显示不同语言的过程就是国际化(举个例子,人们玩的电子游戏,通常可以选择多个语言版本,适应于多个国家的 阅读全文
posted @ 2020-11-24 11:37 codedot 阅读(4643) 评论(0) 推荐(1) 编辑
摘要: 一、使用注解@PropertySource 指定路径 使用 @PropertySource 指定配置文件路径,支持 properties 和 XML 的配置文件,但不支持 yml。 属性赋值 可以用注解 @Value 对属性直接赋值、${}获取配置文件的值、SPEL表达式#{}。 直接赋值:@Val 阅读全文
posted @ 2020-11-24 09:32 codedot 阅读(1634) 评论(0) 推荐(0) 编辑
摘要: Spring Web MVC 是一个基于Servlet API构建的原始框架。 从一开始就包含在Spring框架中。“spring web mvc”的正式名称来自其源模块(spring-webmvc)的名称,但它通常被称为“spring mvc”。 一、DispatcherServlet sprin 阅读全文
posted @ 2020-11-23 14:59 codedot 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 在Spring中,我们定义一个自己的标签有如下步骤: 自己定义一个XSD文件。 定义一个和XSD文件所对应的实体类。 创建实现了BeanDefinitionParser的类(其实更好的做法是继承抽象类AbstractBeanDefinitionParser),去解析我们的自定义标签。 创建一个继承了 阅读全文
posted @ 2020-11-22 12:52 codedot 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 一、内置Resource类型 org.springframework.core.io.UrlResource org.springframework.core.io.ClassPathResource:以类路径的方式进行访问 org.springframework.core.io.FileSyste 阅读全文
posted @ 2020-11-21 22:23 codedot 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 一、BeanDefinition 接口 说到BeanDefinition,就要说到java的核心思想了,万物皆对象。众所周知,java是面向对象的编程语言,所有的事务都可以用一个对象来描述,jdk提供了用来描述类的类Class,spring为了能更好的描述bean,也提供了一个类,那就是BeanDe 阅读全文
posted @ 2020-11-21 22:22 codedot 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: @Configuration 从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法。 这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebAp 阅读全文
posted @ 2020-11-21 21:48 codedot 阅读(410) 评论(0) 推荐(0) 编辑
摘要: Spring提供了@Scheduled注解用于定时任务。 一、@Scheduled的基本使用 启用调度支持:@EnableScheduling 可以将@Scheduled注释与触发器元数据一起添加到方法中。例如,以下方法每隔5秒调用一次,并具有固定的延迟,这意味着周期是从前面每次调用的完成时间开始计 阅读全文
posted @ 2020-11-21 18:16 codedot 阅读(814) 评论(0) 推荐(0) 编辑