IOC 依赖注入
说明:什么是依赖? 我们平时创建的对象需要依赖于spring的这么一个容器,叫作依赖 说明:什么是注入? 我们将创建好的对象通过spring的容器进行注入,叫作注入
依赖注入的演变(重要!重要!重要!)
原来我们创建对象是new Person(),每次都要new对象。 举个例子,食堂排队打饭,每次来一个人,阿姨都要先问一下,你叫什么名字?然后记录一下这个人的名字(new 对象),然后才能打饭。
但我们实际希望的是,不管我阿姨给谁打饭都是打饭,你只要来带上自己的名字,我都给你打饭。
这个是一个质的转变,由阿姨原来主动创建一个对象,变成了,阿姨被动接收对象,不管你来的是什么对象,我都可以接收,将创建对象实现了动态接收,这个就是注入的核心的思想。这是思想上的转变。
注入的方式有3种
set注入(属性输入) 构造器注入(有参无参构造方法注入) 注解注入(自动装配Autowire)
作用域有2种
@Scope(“singleton”) 用于单线程,单例模式 @Scope(“prototype”)用于多线程,原型模式
注册容器的方式有2种
xml方式 @Configuration配置类的方式
AOP 面向切面
AOP是基于IOC来进行的,首先他要能依赖,能注入 AOP的底层原理是动态代理
代理的概念
有3个对象,你,房东,房屋中介 如果你要找房东租房,这个不用代理,使用代理,就是你找房屋中介借房子 这个有什么用呢? 实际上代理角色解决了2头对象的问题 房东只要自己实现一个自己租房的方法就可以了 而你只要找房屋中介,中介可以给你动态地找很多的房子,它不仅可以实现租房的那个方法,还可以帮你实现看房,交房租,签合同,等等方法,让你有了保障
代理模式分为2种
静态代理,静态代理就是每次看房找中介,都要创建房东这个对象,让房东一起去 动态代理,动态代理就是每次你想看哪个房子,就直接说看哪个房东就可以了,中介这里都有钥匙,直接可以看,动态代理被动接收对象就可以了
了解切入点,了解执行方法
@after @before @around
|