古道长亭

Contact me with ixiaoqiang0011@gmail.com


  • 首页

  • 归档

  • 分类

  • 关于

  • Book

  • 搜索

Ioc源码剖析

时间: 2022-10-05   |   分类: Spring   | 字数: 5434 字 | 阅读约: 11分钟

Spring IOC源码剖析

一、容器继承体系

BeanFactory是顶层容器

二、Bean生命周期关键节点

1.数据准备

创建测试bean,实现几个特殊接口

//实现 InitializingBean 接口
public class TestBean implements InitializingBean {

    public TestBean() {
        System.out.println("------------------TestBean 构造器执行------------------------");
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("------------------TestBean afterPropertiesSet执行------------------------");
    }


}
//实现 BeanPostProcessor 接口
public class TestBeanPostProcessor implements BeanPostProcessor {

    public TestBeanPostProcessor() {
        System.out.println("------------------BeanPostProcessor 实现类 构造器------------------------");
    }

    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("------------------BeanPostProcessor 实现类 postProcessBeforeInitialization 执行------------------------");

        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("------------------BeanPostProcessor 实现类 postProcessAfterInitialization 执行------------------------");

        return bean;
    }
}
//实现 BeanFactoryPostProcessor 接口
public class TestBeanFactoryPostProcessor implements BeanFactoryPostProcessor {

    public TestBeanFactoryPostProcessor() {
        System.out.println("------------------BeanFactoryPostProcessor 实现类 构造器 执行------------------------");
    }

    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        System.out.println("------------------BeanFactoryPostProcessor 实现类 postProcessBeanFactory 执行------------------------");
    }
}

以xml配置形式示例

阅读全文 »

分布式架构服务调用

时间: 2022-10-05   |   分类: 分布式架构理论   | 字数: 1435 字 | 阅读约: 3分钟

分布式架构服务调用

1.服务调用

和传统的单体架构相比,分布式多了一个远程服务之间的通信,不管是 soa 还是微服务,他们本质上都是对于业务服务的提炼和复用。那么远程服务之间的调用才是实现分布式的关键因素。

阅读全文 »

Ioc应用

时间: 2022-10-04   |   分类: Spring   | 字数: 5804 字 | 阅读约: 12分钟

Spring IOC应用

一、IOC基础

1. BeanFactory与ApplicationContext区别

BeanFactory是Spring框架中IoC容器的顶层接⼝,它只是⽤来定义⼀些基础功能,定义⼀些基础规范,⽽ApplicationContext是它的⼀个⼦接⼝,所以ApplicationContext是具备BeanFactory提供的全部功能的。通常,我们称BeanFactory为SpringIOC的基础容器,ApplicationContext是容器的⾼级接⼝,⽐BeanFactory要拥有更多的功能,⽐如说国际化⽀持和资源访问(xml,java配置类)等等
启动ioc容器的方式:

阅读全文 »

分布式系统设计策略

时间: 2022-10-04   |   分类: 分布式架构理论   | 字数: 2338 字 | 阅读约: 5分钟

分布式系统设计策略

在分布式环境下,有几个问题是普遍关心的.

  • 如何检测当前节点还活着?
  • 如何保障高可用?
  • 容错处理
  • 负载均衡

1.心跳检测

在分布式环境中,我们提及过存在非常多的节点(Node)。那么就有一个非常重要的问题,如何检测一个节点出现了故障乃至无法工作了?

阅读全文 »

分布式一致性协议

时间: 2022-10-03   |   分类: 分布式架构理论   | 字数: 8682 字 | 阅读约: 18分钟

分布式一致性协议

1.两阶段提交协议(2PC)

1.1 概念

两阶段提交协议,简称2PC(2 Prepare Commit),是比较常用的解决分布式事务问题的方式,要么所有参与进程都提交事务,要么都取消事务,即实现ACID中的原子性(A)的常用手段。

阅读全文 »
31 32 33 34 35 36 37 38 39
古道长亭

古道长亭

Always remember that your present situation is not your final destination. The best is yet to come.

226 日志
57 分类
104 标签
GitHub Gitee
友情链接
  • 古道长亭的BOOK
  • JAVA学习
标签云
  • Mysql
  • 搜索引擎
  • Mybatis
  • 容器
  • 架构
  • 消息队列
  • Flink
  • Sharding sphere
  • 流处理
  • 缓存
© 2019 - 2024 京ICP备19012088号-1
0%