![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
框架
麦嘟学编程
这个作者很懒,什么都没留下…
展开
-
spring依赖注入原理详解(转)
所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它。所以我们只需从容器直接获取Bean对象就行,而不用编写一句代码来创建bean对象。这种现象就称作控制反转,即应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转转载 2016-09-27 17:10:08 · 459 阅读 · 0 评论 -
高并发的大型网站架构设计
最近在学习大型网站的架构设计,便想把学习过程中的一些东西总结记录下来,以便复习和巩固提高。先来看看大型网站架构图:从左边开始,先是CDN服务器和反向代理服务器,都用于缓存一些用户需要请求的资源。两者的区别在于CDN部署在网络提供商的机房,用户可以就近获取;反向代理则部署在网站中心机房。使用CDN和反向代理的目的都是尽快返回数据给用户。这样可以加快返回用户资源的速度,也减轻了后端服务器的负载压力...转载 2019-02-24 21:40:42 · 205 阅读 · 0 评论 -
spring ioc原理讲解
IOC(DI):java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成。通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。你会发现:对象间的耦合度高了。而IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作。对象只需要关系业务逻辑本身就可以了。从这方面来说,对象如何得到他的协作对象的责任被反转了(IOC、D...转载 2018-10-23 21:54:51 · 123 阅读 · 0 评论 -
mybatis关于databaseId属性的配置
MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。 如果同时找到带有 databaseId 和不带 databaseId 的相同语句,则后者会被舍弃。 为支持多厂商特性只要像下面这样在 mybatis-config...原创 2018-10-25 20:12:47 · 22371 阅读 · 2 评论 -
spring常见的面试题
1.谈谈你所理解AOP?AOP的具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取信息的方式,对该信息进行装饰,以取代鱼油对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。2.AOP中的一些术语通知、增强处理(Advice) 就是你想...转载 2018-05-20 17:09:52 · 1258 阅读 · 0 评论 -
Spring源码剖析——核心IOC容器原理
IOC介绍 相信大多数人在学习Spring时 IOC 和 Bean 算得上是最常听到的两个名词,IOC在学习Spring当中出现频率如此之高必然有其原因。如果我们做一个比喻的话,把Bean说成Spring中主角的话,那么IOC便是这个主角进行演出的舞台,没有IOC作为Bean的承载,那么Bean便不会在编程中大放异彩。作为Spring核心组件的重要一员,了解其内部实现对我们编程和窥探Spring转载 2018-01-19 16:40:01 · 238 阅读 · 0 评论 -
Spring源码剖析——依赖注入实现原理
引言 在之前的 Spring源码剖析——核心IOC容器原理这篇文章中,已经详细介绍了在Spring当中我们配置的Bean是怎样被Spring解析和管理的,我们配置的那些Bean经过 载入 、解析 和 注册 这三个过程后,在框架内部被抽象封装成BeanDefinition这种类型,最终所有的BeanDefinition交由BeanFactory当中的definitionMap统一管理起来(如果对该转载 2018-01-19 15:31:49 · 266 阅读 · 0 评论 -
AOP的底层实现-CGLIB动态代理和JDK动态代理
AOP是目前Spring框架中的核心之一,在应用中具有非常重要的作用,也是Spring其他组件的基础。它是一种面向切面编程的思想。关于AOP的基础知识,相信多数童鞋都已经了如指掌,我们就略过这部分,来讲解下AOP的核心功能的底层实现机制:如何用动态代理来实现切面拦截。 AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该转载 2018-01-25 14:32:15 · 228 阅读 · 0 评论 -
细说JDK动态代理的实现原理
关于JDK的动态代理,最为人熟知的可能要数Spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的代理使用CGLIB来实现。那么,什么是JDK的动态代理呢?JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。JDK从1.3开始支持动态代理。那么JDK是如何生成动态代转载 2018-01-21 15:29:46 · 205 阅读 · 0 评论 -
struts2学习
1、struts2中所需的jar包必须统一,否则在加载过程中会出现错误。2、关键的五个jar包 3、用户登陆为例来实习struts2 A、创建web 项目 test B、将五个jar包拷贝到lib下 C、写业务逻辑类 com.icss.LoginService public class LoginServ原创 2016-09-28 14:49:33 · 333 阅读 · 0 评论 -
SpringBoot yml 配置
1. 在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量的定义,参数的设置等。下面来说说两者的区别。application.properties 配置文件在写的时候要写完整,如:spring.profiles.active=devspring....转载 2019-02-24 21:46:44 · 219 阅读 · 0 评论