Optimus-Xs' Blog

Spring Bean 的生命周期

生命周期的概要流程 Spring Bean 的整个生命周期 Google Spring Bean 的生命周期,大多以下图给出的流程作为答案 但是当我第一次看到这个图时,人麻了,“Aware,BeanPostProcessor……这些都是什么啊?而且这么多步骤,太多了,该怎么记啊?”。 其实要记忆该过程,还是需要我们先去理解,本文将从以下两方面去帮助理解 Bean 的生命周期 ...

Java 动态代理实现方法

动态代理作用 静态代理 要说动态代理,必须先聊聊静态代理。 假设现在项目经理有一个需求:在项目现有所有类的方法前后打印日志。 你如何在不修改已有代码的前提下,完成这个需求? 我首先想到的是静态代理。具体做法是: 1.为现有的每一个类都编写一个对应的代理类,并且让它实现和目标类相同的接口(假设都有) 2.在创建代理对象时,通过构造器塞入一个目标对象,然后在代理对象的方法内部调用目...

在 SpringBoot 中集成 Redis

Redis 简介 一个系统在于数据库交互的过程中,内存的速度远远快于硬盘速度,当我们重复地获取相同数据时,我们一次又一次地请求数据库或远程服务,者无疑时性能上地浪费(这会导致大量时间被浪费在数据库查询或者远程方法调用上致使程序性能恶化),于是有了“缓存”。 Redis 是目前业界使用最广泛的内存数据存储。相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, li...

同源策略和实现跨域访问的方法

同源策略 同源策略定义 1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。 最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页”同源” 如果两个 URL 的 protocol、port (en-US) (如果有指定的话)和 host 都相同的话,则这两个 URL 是同源。这个方案也被称为“协议/主机/端口元组”,或者直接...

SpringBoot 配置 CORS 跨域请求的三种方法

前言 Springboot跨域问题,是当前主流web开发人员都绕不开的难题。但我们首先要明确以下几点 跨域只存在于浏览器端,不存在于安卓/ios/Node.js/python/ java等其它环境 跨域请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。 之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全...