Java小白刚学完Spring 自己的一些理解
首先我们先介绍一下Spring框架,从介绍中慢慢深入了解Spring
1、Spring 是一个轻量级开源框架
2、Spring方便解耦
3、Spring方便测试
4、支持AOP编程
5、对其他框架有很好的集成
第一条:轻量级开源框架>>>>开源不必多说,轻量级其实是相对于EJB框架对比,由于没有玩过EJB,所
以不多说,Spring 依赖资源少,销毁资源少
第二条:方便解耦>>>>>>>>1、由于Spring DI(依赖注入) 存在,讲Spring实例化的对象注入给调用
者,降低耦合性 2、Spring AOP(切面编程)对各个业务逻辑进行了隔离,降低了耦合度
第三条:方便测试>>>>>>>>其实就是对Junit4的支持
接下来 说一说Spring的核心 和 核心容器
Spring两大核心:IoC 和 AOP
Spring四大核心容器:bean、core、context、expression
IoC(控制反转):理解起来也很简单,本来实例化对象需要我们自己手动的去new,但是有了Spring后,
Spring把你实例化对象的权利拿走(不太贴切),Spring去给你实例化。
AOP(切面编程):其实切面编程是利用代理(jdk动态代理,cglib字节码增强)完成的,其主要作用就
是通过横向抽取把已经是切入点的方法抽取出来在方法的前后前后进行增强(通知),减少代码的重用性。
例如:事务的处理。
四大核心容器中用的最多的其实是bean
bean:我们可以把Spring比喻成一个大的容器,容纳了很多的功能,这些功能大多数是通过bean来完成
的(个人对bean理解)
bean相关
bean实例化的三种方式:默认构造,静态工厂,实例工厂
种类:普通bean 特殊bean(FactoryBean:生产其他特殊种类bean)
BeanFactory:生产bean的工厂。延迟加载,第一次调用getBean时生产bean
AplicationContext: BeanFactory的子接口;配置文件加载时,实例化对象
ClassPathXmlApplicationContext:加载classpath下的xml
FileSystemXmlApplicationContext:加载指定磁盘下的xml
作用域scope
Singleton:单例
Prototype:多例
Request:每次HTTP请求都会创建一个新的bean
Session:同一个HTTP Session使用一个bean,不同的使用不同的bean
生命周期 11步
记住的几步
后处理bean before
init(初始化)
后处理bean after(一般是在这里进行代理)
执行目标方法
destroy(销毁)
Spring还有很多很多的东西,能力有限,就不谈了。
以上就是个人对Spring的一些理解,如有错误,望大神更正
新手小白交流群:623773253