1.说说对Srping的理解
1)Ioc容器:Spring通过控制反转实现了对象的创建以及依赖管理,开发者只需定义好Bean和依赖关系,Spring可帮助其实现创建以及组装这些对象。
2)aop:面向切面编程,开发者可以自定义横切关注点,例如事务管理、安全控制等,独立于业务逻辑的代码,可通过aop模块化,提高代码的可维护性和可重用性。
3)事务管理:Spring提供了一致的事务接口,对事务进行管理,无需开发者过度关注API。
4)SpringMVC:是基于Servlet API构建的Web框架,采用了模型-视图-控制器架构。
2.介绍Spring中的Ioc与Aop
1)Ioc:是通过控制反转实现对象的创建与管理的思想,传统开发需要使用new关键字创建对象,在使用Ioc管理对象时,无需我们使用new关键字,Ioc会帮助我们实例化对象,降低代码的耦合。
2)Aop:面向切面编程,可以将那些与业务逻辑无关,但是每个业务逻辑模块都需要的代码封装起来,减少系统的重复代码,降低代码耦合。AOP通过动态代理实现,如果要代理的对象实现了一个接口,那么Soring AOP会通过Java Proxy去创建代理对象。
3.详细介绍AOP
面向切面编程,可以将那些与业务逻辑无关,但是每个业务逻辑模块都需要的代码封装起来,减少系统的重复代码,降低代码耦合,提高代码的可维护性与重用性。其中有一些重要的概念:
1)AspectJ:切面,没有具体的接口或类对其进行定义,是PointCut,Advice,JointPoint的一个统称;
2)JointPoint:连接点,即程序运行中的一个点,可以是方法调用或异常处理。AOP中只允许方法级的连接点;
3)Advice:通知,我们定义的一个切面中的横切逻辑,包含Around,Before,After三种类型。通知通常为一个拦截器,也可以是多个拦截器构成的链围绕切面执行。
4)PointCut:切点:用于匹配连接点,一个AspectJ中可以有一个或者多个切点,需要PointCut进行筛选。