1.Spring工程的启动流程: Spring工程的启动流程主要包括以下几个步骤: 加载配置文件:Spring会读取配置文件(如XML配置文件或注解配置)来获取应用程序的配置信息。实例化并初始化IoC容器:Spring会创建并初始化IoC容器,即ApplicationContext。在这一步,Spring会解析配置文件,并将配置的Bean实例化。实例化并初始化Bean:Spring根据配置信息实例化Bean,并完成Bean的依赖注入和初始化(例如调用构造函数、属性设置和初始化回调等)。完成Bea
2024-11-23引言 随着业务的不断扩张,各种运营活动越来越多,原有的前端渲染-后端提供业务接口的开发方式对于一个生命周期可能只有几天的活动来说成本巨大。闲鱼在降低开发成本,提高整体效率上做了一些尝试和实践。本文介绍闲鱼从数据聚合方面进行了一些探索和尝试,以及Graphql的引入给闲鱼带了研发效率的提升。 背景 长期以来,前端和后端开发中面临一个矛盾:前端希望页面只获取结构化数据,能够直接渲染出页面组件;后端则希望只提供业务领域API服务能力,数据组装和处理由前端完成。mock数据,联调等低价值的工作会耗费很
2024-11-23【RPC】 主要内容 学习目标 知识点要求项目架构变化掌握RPC简介掌握RMI实现RPC掌握HttpClient实现RPC了解Zookeeper安装掌握Zookeeper客户端常用命令掌握向Zookeeper中注册内容掌握从zookeeper中发现内容掌握手写RPC框架掌握 1 项目架构变化 现在学习RPC。因为后期学习的Dubbo是一个RPC框架,学习好现在的内容,学习Dubbo将会变得容易一些。 1.1 单体架构 1. 架构图 单体架构就是一个项目里面包含这个项目中全部代码
2024-11-23写在最前边: Java 基础 第一阶段 java编程 第八章 面向对象编程(中级) 七、熟练使用断点调试 4、必会图 5、动态下断点的妙用:吧下一个断点设置在一个想要查看 当前位置能否跳转进去的位置,如果没有达到说明业务逻辑错了,修改自己的代码。
2024-11-23前言:介绍一个简单的MyBatis加解密方式,日常学习工作中提及这种方法的比较少,所以拿来说说,如果已经知道这种方法的忽略本文! 一、背景 在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:黑客黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。因此我们就需要找到一种方法来解决这个问题。 二、解决方案 由于我们系统中使用了Mybatis作为数据库持久层,因此决定使用Mybatis的TypeHandl
2024-11-23一、包装类 Integer a=new Integer(4); Integer b=4; int c=4; 以上,a会自动拆箱成int类型,b会自动装箱成Integer对象。 所以,a==b是false,原因是没有引用同一对象,而a==c是true。 二、Number&Math类方法 方法描述xxxValue将Number对象转换为xxx数据类型的值返回compareTo将Number对象与参数比较equals判断number对象是否对参数相等valueOf返回一个Number对象指定的内置
2024-11-231. Spring的优点 轻量级和非侵入性:不需要引入大量的依赖和配置。面向切面编程:Spring提供了强大的面向切面编程,允许用户定义横切关注点,并将其与核心业务逻辑分离,提高了灵活性。依赖注入(DI)和控制反转:Spring的核心容器是IOC,他实现了依赖注入模式,通过配置文件或者注解来管理对象之间的依赖关系,降低了耦合度,提高了代码的可维护性和可测试性。拥有大量的生态和活跃的社区。 2. Spring IOC容器初始化过程 一共有四个阶段,分别是启动、Bean定义注册、实例化和依赖注入、初
2024-11-23为便于区分,要将PG net与signal Net设置为不同的shape pg wires: deselectAll editSelect -net * -type special -shape {PADRING STREIPE BLOCKRING} -object_type {wire via} defOutBySection -selected -specialNetRouting -specialNets -noDiearea my_def.def signal wires with s
2024-11-23面向对象封装案例Ⅰ 01. 封装 02. 小明爱跑步 需求 小明 体重 75.0 公斤小明每次 跑步 会减肥 0.5 公斤小明每次 吃东西 体重增加 1 公斤 代码实现: class Person: """人类""" def __init__(self, name, weight): self.name = name self.weight = weight def __str__(self): return
2024-11-23引言 什么是swagger Swagger 是一个规范且完整的,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务以及 集成Swagger自动生成API文档。 Swagger 的目标是对 REST [API] 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能
2024-11-23