SpringBoot开发理财产品系统视频教程

BeanDefinition:容器中每一个bean都有一个相对应的BeanDefinition实例,该实例负责保存bean对象的所有必要信息,包括bean对象的class类型、是否是抽象类、构造方法和参数、其它属性等等。当客户端向容器请求相应对象时,容器就会通过这些信息为客户端返回一个完整可用的bean实例。

 

BeanDefinitionRegistry:抽象出bean的注册逻辑,bean对象对应的

BeanDefinition实例会在BeanDefinitionRegistry中进行注册。

BeanFactory:抽象出了bean的管理逻辑,而各个BeanFactory的实现类就具体承担了bean的注册以及管理工作

 

DefaultListableBeanFactory作为一个比较通用的BeanFactory实现,它同时也实现了BeanDefinitionRegistry接口,因此它就承担了Bean的注册管理工作。从图中也可以看出,BeanFactory接口中主要包含getBean、containBean、getType、getAliases等管理bean的方法,而BeanDefinitionRegistry接口则包含registerBeanDefinition、removeBeanDefinition、getBeanDefinition等注册管理BeanDefinition的方法

 

 

 

  • 在服务器端,事件的监听机制更多的用于异步通知以及监控和异常处理。Java提供了实现事件监听机制的两个基础类:自定义事件类型扩展自java.util.EventObject、事件的监听器扩展自java.util.EventListener。

    Spring的ApplicationContext容器内部中的所有事件类型均继承自org.springframework.context.AppliationEvent,容器中的所有监听器都实现org.springframework.context.ApplicationListener接口,并且以bean的形式注册在容器中。一旦在容器内发布ApplicationEvent及其子类型的事件,注册到容器的ApplicationListener就会对这些事件进行处理。

    (1)ApplicationEvent继承自EventObject,Spring提供了一些默认的实现,比如:ContextClosedEvent表示容器在即将关闭时发布的事件类型,ContextRefreshedEvent表示容器在初始化或者刷新的时候发布的事件类型

    (2)容器内部使用ApplicationListener作为事件监听器接口定义,它继承自EventListener。ApplicationContext容器在启动时,会自动识别并加载EventListener类型的bean,一旦容器内有事件发布,将通知这些注册到容器的EventListener。

    (3)ApplicationContext接口继承了ApplicationEventPublisher接口,该接口提供了void publishEvent(ApplicationEvent event)方法定义,不难看出,ApplicationContext容器担当的就是事件发布者的角色ApplicationContext将事件的发布以及监听器的管理工作委托给ApplicationEventMulticaster接口的实现类。在容器启动时,会检查容器内是否存在名为applicationEventMulticaster的ApplicationEventMulticaster对象实例。如果有就使用其提供的实现,没有就默认初始化一个SimpleApplicationEventMulticaster作为实现。

     

 

 

第1章 课程介绍

本套课程是一门综合课程,从快速开发、高效优化、安全等全方位的介绍了产品系统。本章主要从架构设计、主要技术、业务流程、适合人群、课程收获、课程安排等全面介绍了课程。从一个实际的理财场景入手,带领大家走进鲜为人知的金融系统后台,其背后的运营过程及相关法律法规,还有整个投资过程中信息及资金的流转过程。支持...

第2章 项目准备

本章主要是为项目做一些必要的准备工作。首先是环境的搭建,使用IntelliJ IDEA作为开发工具,Gradle作为构建工具,spring boot作为开发框架。;接着是模块化开发介绍,包括一些概念,为什么要划分模块,及如何进行模块划分。然后是数据库表结构的设计及创建,数据库使用了Mysql。因为使用的是Spring data JPA操作数据库...

第3章 管理端

本章主要是管理端的编码阶段。主要使用RESTful规范设计了URL,实现了添加产品,查询产品的功能。对Spring boot中的统一错误处理通过查看源码文档等,对继承BasicErrorController或者使用ControllerAdvice等几种方式进行了详细的介绍。快速开发的前提一定要有质量保证,所以自动化测试也是必须的。介绍了Junit的主要使用方...

第4章 Swagger

本章主要介绍了一款非常流行的文档管理工具Swagger在实际项目中的正确使用方式。通过官网对Swagger进行简单了解及快速试用。又针对实际项目中个性化的使用要求进行了优化,如何显示中文、更加详细的注释等。通过springboot的自动配置原理及Enable*的原理,把swagger封装成我们自己的即插即用的插件式模块。最后把界面展示工...

第5章 销售端和JSONRPC

本章进入产品系统的另一个模块,销售端的编码阶段。销售端是用来把管理端的产品通过接口的形式对外提供服务,所以算是中间模块,对内需要与管理端交互,对外需要与套壳公司交互。这里就介绍了Swagger在实际项目开发过程中的使用方式了。对内部系统见的交互方式进行了对比介绍,最终选择了编写方便又高效的JSONREPC。JSONREP...

第6章 缓存和Hazelcast

本章主要介绍缓存框架Hazelcast。对比了当下非常流行的多款缓存框架包括Memcached、Redis等。对Hazelcast从安装、配置、管理等方面进行了介绍,对Spring缓存中的主要注解@Cacheable/@CachePut/@CacheEvict也进行了非常详细的介绍。选择ActiveMq作为消息系统进行缓存维护。...

第7章 RSA和对账业务

本章详细介绍了RSA的原理及如何在实际项目中进行通过加签验签来达到防抵赖及安全的目的。接着就是对账业务的详细介绍,首先了解我们实际的资金流转过程,为什么要对账、怎么对账、对账的过程是怎样的、对账有问题怎么办。我们主要是基于JPA的方式进行讲解,springboot对JPA的自动配置源码,来完成了手动配置JPA多Repository...

第8章 TYK和HTTPS

本章主要介绍的是系统开发完成之后的安全问题,使用HTTPS及API网关框架TYK来保护我们的系统。首先详细介绍了HTTPS的原理。然后介绍TYK的安装和使用,把API配置、访问控制、节流限速等非常重要的功能进行了介绍。对其他一些常用的功能也进行了简单介绍,最后知其然也要知其所以然,把架构及运行原理也详细介绍了下。...

第9章 升级SpringBoot2.0

本章主要介绍如何把我们的系统升级为SpringBoot2.0版本。在临上线之际SpringBoot2.0发布了2.0正式版,很显然有了比较大的改动也引入了很多新的功能。我们的系统能否顺利升级到2.0?如何升级?升级之后有问题吗?这就是检验我们编码习惯及能力的时候了。良好的自动化测试代码这时候就显得尤为重要了。在升级过程中遇到问题及...

第10章 课程总结

本章主要总结了本套课程。本套课程是一门综合课程,从快速开发、高效优化、安全等全方位的介绍了一个金融系统的冰山一角产品系统。牵涉到了非常多的技术,一定在你的记忆中留下了点痕迹。其实比学习到具体的技术更重要的还有学习技术的方法。我使用个人的学习新技术的过程介绍了多项新技术,希望对你找到适合自己学习新技术...

 

 

精彩文章来源微信公众号   java微技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值