- 博客(114)
- 资源 (9)
- 收藏
- 关注
原创 【Spring Cloud】OpenFeign之自动配置类FeignAutoConfiguration
等所有的 AnnotationConfigApplicationContext 子上下文 和 ApplicationContext 父上下文创建完成后,就进行 Feign 的自动化配置,@Configuration(proxyBeanMethods = false)@ConditionalOnClass(Feign.class)@EnableConfigurationProperties({ FeignClientProperties.class, FeignHttpClientProperti
2020-08-14 10:18:29 4037
原创 【Spring Cloud】OpenFeign之扫描FeignClient类信息
FeignClientRegistrar 做的第二件事是扫描指定包下的类文件,注册 @FeignClient 注解修饰的接口类信息://FeignClientsRegistrar#registerDefaultConfigurationpublic void registerFeignClients(AnnotationMetadata metadata, BeanDefinitionRegistry registry) { //生成自定义的ClassPathScanningCandida
2020-08-14 10:13:44 2607
原创 【Spring Cloud】OpenFeign之@EnableFeignClients(1)注册默认配置
四、RESTful客户端 - OpenFeignOpenFeign 是 Spring Cloud 在原有 Netflix 的 Feign 的基础之上改造成自己的远程调用组件。OpenFeign 是个声明式 RESTful 网络请求客户端,使得编写 Web 服务客户端更加方便和快捷,只需要使用 OpenFeign 提供的注解修饰定义网络请求的接口类,就可以使用该接口的实例发送 RESTful 风格的网络请求 。OpenFeign 还可以集成 Ribbon 和 Hystrix 来提供负载均衡和网络断路器的功
2020-07-31 17:05:35 5225
原创 【Spring Cloud】Eureka端点&集群&安全认证
3.8、Rest端点常用的 Eureka REST API 除了 /eureka/apps 之外,还有如下接口:操作http 动作接口描述注册新的应用实例POST/eureka/apps/{APP_NAME}可以输入 json 或者 xml 格式的 body,成功返回 204注销实例DELETE/eureka/apps/{APP_NAME}/{INSTANCEINFO_ID}成功返回 200发送心跳PUT/eureka/apps/{APP_NAME}/
2020-07-28 15:56:23 467
原创 【SpringCloud系列】服务注册与发现 - Eureka Client源码分析(3)
上一节讲述了 Eureka Server 的原理及部分源码,今天咱们来看看 Eureka Client 端的源码,功能点类似 Eureka Server。3.7、Eureka Client 源码分析Eureka Client 通过 Starter 的方式引入依赖, SpringBoot 将会为项目使用以下的自动配置类:EurekaClientAutoConfiguration:Eureka Client 自动配置类,负责 Eureka Client 中关键Bean的配置和初始化;RibbonEur
2020-07-26 09:52:28 525
原创 【SpringCloud系列】服务注册与发现 - Eureka Server源码分析(2)
3.6、Eureka Server 源码分析上一篇文章简单介绍了 Eureka 的一些概念,今天咱们来看看其原理和源码,首先先看 Eureka Server 的原理。3.6.1、Eureka Server启动原理本文章使用的 Eureka Server 依赖为:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netf
2020-07-26 09:16:56 337
原创 【SpringCloud系列】服务注册与发现 - Eureka(1)
服务注册与发现 - Eureka在不使用服务注册的前提下,如果在微服务中需要服务间调用,只能使用 RestTemplate 指定主机ip及端口号port才能进行通讯。但是这样的硬编码编写提供方地址的方式会出现如下问题:**(1)如果服务提供者的网络地址发生了变化,会影响消费者;(2)在生产环境中,每个微服务都会有多个实例来实现容灾和负载均衡,而使用硬编码的形式无法适应这种需求。**由于以上两个问题,所以出现了服务发现组件。服务提供者、服务消费者、服务发现组件关系:各个微服务在启动时,将自己的网络地
2020-07-24 18:38:35 317
原创 【SpringCloud系列】Spring Cloud - 简介
Spring Cloud - 简介文章目录Spring Cloud - 简介一、前言1.1 、微服务出现前的单体应用架构1.2、单体应用架构的优缺点1.3、微服务1.4、微服务优点与缺点1.5、微服务设计原则1.6、常见的微服务框架二、SpringCloud2.1、版本说明2.2、SpringCloud组成微信公众号:Java知识集训一、前言1.1 、微服务出现前的单体应用架构一个归档包(可以是JAR、WAR、EAR或其它归档格式)包含所有功能的应用程序,通常称为单体应用。而架构单体应用的方法论
2020-07-24 18:33:17 235
原创 Centos7配置FastDFS
1、安装gcc(编译时需要)FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gccyum install -y gcc gcc-c++2、安装libevent(运行时需求) 若安装了桌面图形界面,就不需要安装;FastDFS依赖libevent库;yum -y install libevent...
2018-12-02 01:01:52 365
原创 MongoDB连接配置
MongoDB学习笔记——MongoDB 连接配置MongoDB连接标准格式:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]参数说明 Mongodb:// 必填的前缀,标识当前字符串为便准链接格式...
2018-11-30 14:07:51 2673
原创 【Spring Boot】(33)、SpringBoot事务管理@Transactional注解原理
1、依赖包1.1、 SpringBoot中的依赖包众所周知,在SpringBoot中凡是需要跟数据库打交道的,基本上都要显式或者隐式添加jdbc的依赖:&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifa
2018-10-24 16:18:19 7791 2
原创 【Spring Boot】(32)、SpringBoot集成AOP
1、添加pom依赖&amp;amp;amp;lt;dependency&amp;amp;amp;gt; &amp;amp;amp;lt;groupId&amp;amp;amp;gt;org.springframework.boot&amp;amp;amp;lt;/groupId&amp;amp;amp;gt; &amp;amp;amp;lt;artifactId&
2018-10-19 12:20:36 2812 1
原创 【Spring注解】3、属性赋值
1、@Value配置文件 person.properties:person.nickName=张三person.age=20实体类 Person.java:@Data@AllArgsConstructor@NoArgsConstructorpublic class Person { /** * 使用@Value赋值 * 1、基本数值类型和String ...
2018-10-11 11:51:23 2225
原创 【Spring注解】2、Bean生命周期
1、初始化和销毁 通过@Bean注解的initMethod和destroyMethod属性 InitializingBean接口、DisposableBean接口 可以使用JSR250: @PostConstruct:在Bean创建完成并且属性值完成后,执行初始化。 @PreDestroy:在容器销毁Bean之前,通知进行清理工作。 ...
2018-10-11 11:12:39 349
原创 【Spring注解】1、Spring组件注册
1、@Configuration:指定该注解的类是个配置类,对应之前的配置文件 2、@Bean:指定该方法作为一个Bean组件,它会往容器中注册一个Bean组件;其中类型为返回值,id默认为方法名;也可以使用@Bean注解的name属性,来自定义id。 3、@ComponentScans:可以配置多个@ComponentScan。3...
2018-10-11 10:50:41 448
原创 【Spring Boot】(31)、使用SpringBoot发送mail邮件
1、前言发送邮件应该是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息。正常我们会用JavaMail相关api来写发送邮件的相关代码,但现在springboot提供了一套更简易使用的封装。 2、Mail依赖<dependency> <groupId>org.springframework.boot</groupId>...
2018-09-28 17:58:29 55998 5
原创 【Spring Boot】(30)、SpringBoot整合RabbitMQ
1、安装1.1、Erlang:Erlang下载地址,下载后安装即可。1.2、RabbitMQ安装RabbitMQ下载地址,下载后安装即可。注意:Erlang的版本要与RabbitMQ版本需要匹配才行。RabbitMQ Minimum required Erlang/OTP Maximum supported Erlang/OTP 3.7.x 19.3...
2018-09-18 10:33:56 3786 1
原创 【Spring Boot】(29)、SpringBoot整合Mybatis源码分析
在【Spring Boot】(23)、Spring Boot整合Mybatis的章节中讲述了SpringBoot整合Mybatis的过程,以及一些配置说明,这节主要讲解一下整合的源码。废话不多说,直接进入今天的主题。阅读过我之前写的文章的童靴,肯定知道SpringBoot整合第三方技术的时候,都会有一个xxxAutoConfiguration的自动配置类,咱们来一起找找看。其实在项目整合M...
2018-09-13 15:37:04 2308 2
原创 【Spring Boot】(24)、Spring Boot中使用缓存之Spring缓存
1、缓存依赖只要添加如下依赖,即可使用缓存功能。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency>2、缓存注解@Enab...
2018-05-26 20:53:57 1143
原创 【Spring Boot】(23)、Spring Boot整合Mybatis
首先添加mybatis依赖:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version>
2018-05-26 17:35:44 762 1
原创 【Spring Boot】(22)、Spring Boot启动配置原理
启动配置原理重要的事件回调机制:ApplicationContextInitializerSpringApplicationRunListenerApplicationRunnerCommandLineRunner前两者需要配置在META-INF/spring.factories中,而后两者只需要放在ioc容器中。启动流程1、创建SpringApplication对象:SpringApplicat...
2018-05-19 22:54:25 388
原创 【Spring Boot】(21)、Spring Boot使用外置的Servlet容器
嵌入式Servlet容器: 优点:简单,便携; 缺点:默认不支持jsp,优化定制比较复杂;使用外置Servlet容器的步骤: 1)、必须创建一个war项目,需要建立好web项目的目录结构,特别是webapp/WEB-INF/web.xml; 2)、嵌入式的Tomcat依赖的scope指定为provided;<dependency> <groupId>org....
2018-05-17 16:12:11 1657 1
原创 【Spring Boot】(20)、Spring Boot嵌入式Servlet容器启动原理
过程&原理: 1)、Spring Boot应用启动运行run方法:public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext...
2018-05-17 15:48:58 1115 1
原创 【Spring Boot】(19)、Spring Boot嵌入式Servlet容器自动配置原理
其中EmbeddedServletContainerAutoConfiguration是嵌入式Servlet容器的自动配置类,该类在spring-boot-autoconfigure-xxx.jar中的web模块可以找到。@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@Configuration@ConditionalOnWebAppli...
2018-05-17 09:51:51 3508 3
原创 【Spring Boot】(18)、Spring Boot配置嵌入式Servlet容器
Spring Boot默认使用Tomcat作为嵌入式的Servlet容器,只要引入了spring-boot-start-web依赖,则默认是用Tomcat作为Servlet容器:1、定制和修改Servlet容器的相关配置1)、修改和server有关的配置(ServerProperties,它其实也是EmbeddedServletContainerCustomizer的子类):server.port...
2018-05-16 22:59:24 1624
原创 【Spring Boot】(15)、Spring Boot错误处理机制
1、Spring Boot默认的错误处理机制如果是浏览器,则返回一个默认的错误页面:如果是其他测试工具,如Postman,则返回一个json数据:原理: 可以参照ErrorMvcAutoConfiguration,错误处理的自动配置类。该自动配置类给容器中添加了以下几个组件:1)、ErrorPageCustomizer:错误页面定制器@Beanpublic ErrorPageCustomize...
2018-05-10 22:16:32 4065
原创 【Spring Boot】(14)、Spring Boot处理国际化资源
1、Spring应用程序处理国际化资源的步骤: 1)、编写国际化配置文件; 2)、使用ResourceBundleMessageSource管理国际化资源文件; 3)、在页面使用fmt:message取出国际化内容。2、Spring Boot处理国际化资源步骤:1)、编写国际化配置文件,抽取页面中需要进行显示的国际化信息。2)、Spring Boot自动配置了管理国际化资源文件的组...
2018-05-06 21:51:25 5611
原创 【Spring Boot】(13)、Spring Boot自动配置SpringMVC
1、SpringMVC自动配置官方文档Spring Boot官方文档:Spring Boot中Springmvc配置文档2、Spring MVC auto-configurationSpring Boot 提供了大多数SpringMVC应用常用的自动配置项。以下是Spring Boot对SpringMVC的默认配置(来自官网,自行翻译):自动配置了 ContentNegotiatingViewRe...
2018-05-05 23:20:11 975
原创 【Spring Boot】(12)、Spring Boot使用Thymeleaf模版引擎以及语法
1、模版引擎JSP,Velocity,Freemarker,Thymeleaf...Spring Boot推荐的模版引擎:Thymeleaf。2、引入Thymeleaf依赖<!-- 修改Spring Boot的默认版本 --><thymeleaf.version>3.0.9.RELEASE</thymeleaf.version><!-- 布局功能的支持...
2018-05-05 22:06:52 754
原创 【Spring Boot】(11)、Spring Boot对静态资源的规则
1、简介使用Spring Boot:(1)、创建Spring Boot应用,添加需要的模块;(2)、Spring Boot对于支持自动配置的模块已经加载完毕,只需要在配置文件中指定少量配置信息即可;(3)、编写业务逻辑代码。2、Spring Boot对静态资源的映射规则:ResourceProperties:Spring Boot静态资源配置类 @ConfigurationProperties(p...
2018-05-05 20:31:04 945
原创 【Spring Boot】(25)、Spring Boot使用Schedule任务调度
1、Spring中的定时任务1.1、使用xml形式任务类MyScheduler:public class MyScheduler { public void print(){ System.out.println("MyScheduler:" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd...
2018-05-05 08:50:30 3063
原创 【Spring Boot】(17)、Spring Boot数据源属性注入与创建
一、 前言 在Spring Boot中常常会用到配置文件,最常见的莫过于数据源,基本上都使用配置文件的方式进行配置了,即在application.properties/yml中配置连接数据库的基本信息。#driver配置不需要配置,Spring Boot会从配置的url中试图获取driver名spring.datasourc.driver=com.mysql.jdbc.Driversprin...
2018-04-28 21:58:51 6897
原创 【Spring Boot】(28)、Spring Boot中spring-data-jpa自动配置源码分析
在上一节中,我们简单的讲述了jpa的查询语法和使用教程,而这一节咱们来看看Spring Boot中对jpa是如何进行自动配置的。 在Spring Boot自动配置的时候,一旦引入spring-boot-starter-data-jpa,就会完成JpaRepositoriesAutoConfiguration的自动配置。 JpaRepositoriesAutoConfig...
2018-04-28 21:45:59 1683
原创 【Spring Boot】(27)、Spring Boot使用spring-data-jpa快速访问数据库
一、JPA Spring Data JPA 是Spring Data 的一个子项目,它通过提供基于JPA的Repository极大了减少了操作JPA的代码。Spring Data JPA旨在通过减少实际需要的数量来显着提高数据访问层的实现。 在Spring环境中需要配置大量的XML配置,但是SpringBoot基本上帮助我们配置好了,我们只需要简单地配置一下DataSource和...
2018-04-28 21:43:10 1230
原创 【Spring Boot】(16)、Spring Boot使用JdbcTemplate
1、添加数据源既然要使用JdbcTemplate,就需要添加jdbc的依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency&g...
2018-04-28 21:41:15 2084
原创 【Spring Boot】(26)、Spring Boot使用Swagger2生成API文档
一、Swagger2概念Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从...
2018-04-28 21:38:52 489
原创 【Spring Boot】(10)、Spring Boot日志框架
1、日志框架市面上的日志框架:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j...日志门面(日志的抽象层)日志的实现层JCL(Jakarta Common logging)---Apache常用的common-logging、SLF4j(Simple Logging Facade for Java)、jboss-loggingLog4j、Log4j...
2018-04-27 20:32:26 1131 1
原创 【Spring Boot】(9)、自动配置原理
配置文件能配置的属性请参照:官方所有自动配置属性1、自动配置原理Spring Boot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration@EnableAutoConfiguration作用:利用EnableAutoConfigurationImportSelector给容器中导入一些组件:可以查看selectImports()方法的内容:List<St...
2018-04-18 23:04:32 470
原创 【Spring Boot】(8)、外部配置加载顺序
7、配置文件加载位置上一节讲述了Spring Boot从项目内部加载配置文件,而这一节主要讲述从外部进行加载配置文件。Spring Boot也可以从以下位置加载配置; 优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置。命令行参数所有的配置都可以在命令行上进行指定java -jar spring-boot-02-config-SNAPSHOT.jar --server.po...
2018-04-17 21:53:10 1412
原创 【Spring Boot】(7)、配置文件加载位置
Spring Boot启动会扫描以下位置的application.properties/yml文件作为Spring Boot默认配置文件:Spring Boot官方文档章节:加载application.properties配置文件外置,在相对于应用程序运行目录的/config子目录里外置,在应用程序运行的目录里内置,在resources/config包内内置,在classpath根目录(resou...
2018-04-17 20:40:38 7657
netty源码剖析视频.zip
2019-05-22
RedHat中mongodb程序包
2018-06-01
rabbitmq常用三种模式的配置
2018-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人