Spring

Spring的核心概念

IOC(Inversion of Control)控制反转

使用对象时,有主动new产生的对象转化为由外部提供对象,此过程中,对象创建控制权由程序转移到外部,此思想成为控制反转,控制反转(IOC)和依赖注入(DI)在spring环境下是等同的概念,控制反转就是通过依赖注入实现的

Spring技术对IOC的思想进行了实现

Spring提供了一种容器,叫做"IOC容器",用来充当IOC思想中的"外部"

IOC容器负责创建对象、初始化等一系列工作,被创建或管理的对象在IOC容器中被称为Bean

DI(Dependency Injection)依赖注入

在容器中建立Bean与bean之间的依赖关系的整个过程,成为依赖注入

Bean别名的配置,指的是容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。其主要目的是解耦。

Bean的生命周期

生命周期:从创建到消亡的完整过程

bean生命周期:bean从创建到消亡的完整过程

bean生命周期控制:在bean从创建后到销毁前做一些事情

注入bean的注解:

@Autowired Spring提供的注解

@Inject JSR-330提供的注解

@Resource JSR-250提供的注解

以上三个注解可以用于set方法或者属性上,通常用于属性上,优点是代码少,层次清晰。

生命bean的注解

@Component 组件,没有明确的角色,及普通的javaBean(如实体类)

@Service 在业务逻辑层(service层)使用

@Repository 在数据访问层(dao层)使用

@Controller 在在控制器层(comtroller层,MVC->SpringMVC)使用

AOP:面向切面编程,OOP:面向对象编程

Spring的AOP存在的目的是为了解耦。AOP可以让一组类共享相同的行为。在OOP中只能通过继承类和接口实现,使代码的耦合度增强,且继承只能是单继承,阻碍更多行为添加到一组类上,AOP弥补了OOP的不足。

aop作用:对程序进行增强:不修改源码的情况下.

AOP 可以进行权限校验,日志记录,性能监控,事务控制.

Spring支持Aspectj的注解是切面编程。

1)使用@Aspect声明是个切面

2)使用@After(前置通知)、@Before(后置通知)、@Around(环绕通知)等注解定义建言(通知)。可直接将拦截规则(切点PointCut)作为参数。

代理机制:

spring的aop的底层常用到两种代理机制

jdk的动态代理:针对了接口的类产生代理

cglib的动态代理:针对没有实现接口的类产生代理.应用的是底层的字节码增强的技术生成当前类的子类对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值