Fork me on GitHub

Spring:@Profile,AOP

Profile: 可以根据当前的环境,动态激活和切换一系列的组件功能 指定组件在那个环境下才能被注册到容器中,不指定任何环境下都能注册到 1.加了环境标识的bean只有环境激活的时候才能注册到容器中 默认是default ,@Profile(“default”) 才能加入到环境中 2.还可以下载类上,只有在当时的环境下,整个类的方法才会生效 3.默认没标识的bean在,任何环境下都是加载...

Spring:生命周期,属性赋值,自动装配

1.Bean的生命周期 创建—初始化—销毁 容器管理bean的生命周期: 我们可以自定义初始化和销毁的方法 构造器: 1.单实例:在容器创建好之后创建实例 2.多实例:在每次获取的时候创建对象 初始化: 对象创建好,并赋值好,进行初始化 销毁: 单实例:容器关闭的时候 多实例:容器不会管理这个bean,在容器关闭的时候不会调用销毁的方法 指定初始化和销毁的方法:通...

注解:@ComponentScan 注解

注解:@ComponentScan 注解

在平时的开发,我们会配置 @Controller 、 @Service 、 @Repository 、@Component 注解来声明该类为 Spring IoC容器的组件。 在 xml 中会配置扫描包,那么使用 JavaConfig 的方式,同样可以配置扫描包。 DAO 的注解类 123456@Repositorypublic class BusinessDAO { pu...

Spring注解:@Configuration,@Bean,@ComponentScan(),@Scope

Spring注解:@Configuration,@Bean,@ComponentScan(),@Scope

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。为...

Spring @Configuration和@Component区别

Spring @Configuration 和 @Component 区别一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。 下面看看实现的细节。 1234567@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Comp...

SpringCloud Stream整合RocketMQ实现消息发送与接收

SpringCloud Stream整合RocketMQ实现消息发送与接收

RocketMQ 介绍RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。 具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时...

Spring Cloud Sleuth与Zipkin配合使用

Spring Cloud Sleuth与Zipkin配合使用

Spring Cloud Sleuth入门经过前文讲述,我们的微服务架构日趋完善,已可使用Spring Cloud构建一个非常健壮的系统! 但假设,你的项目一旦出现问题,如何才能快速定位出来呢?一般项目上要求我们快速定位两种问题: 调用发生失败,快速定位出是哪个环节出了问题。是微服务问题,还是网络? 调用慢,如何快速找到性能瓶颈? 这正是调用链监控要做的事情。Spring Cloud提供...

SpringCloud组件之Zuul

SpringCloud组件之Zuul

Zuul是Netflix开源的微服务网关,可以和Eureka、Ribbon、Hystrix等组件配合使用,Spring Cloud对Zuul进行了整合与增强,Zuul默认使用的HTTP客户端是Apache HTTPClient,也可以使用RestClient或okhttp3.OkHttpClient。 Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/demo/test...

熔断器 - Turbine

熔断器 - Turbine

Turbine在复杂的分布式系统中,相同服务的节点经常需要部署上百甚至上千个,很多时候,运维人员希望能够把相同服务的节点状态以一个整体集群的形式展现出来,这样可以更好的把握整个系统的状态。 为此,Netflix提供了一个开源项目(Turbine)来提供把多个hystrix.stream的内容聚合为一个数据源供Dashboard展示。 和Hystrix Dashboard一样,Turbine也...