Spring

95 阅读2分钟
Spring的核心

IoC, DI, AOP

  1. 方便解耦, 简化开发, 通过Spring提供的IoC容器, 我们可以将对象之间的依赖关系交由Spring容器管理, 避免硬编码造成的耦合度高
  2. AOP的支持, Spring中的AOP功能, 方便我们面向切面编程
Spring管理事务的方式有几种?
  1. 编程式事务, 在编码中硬编码(不推荐使用)

  2. 声明式事务, 在配置文件中配置(推荐使用)

    声明式事务又分为两种: 基于xml的声明式事务; 基于注解的声明式事务(推荐)

Spring AOP是什么?

与OOP对比, 面向切面, 传统的OOP开发中的代码逻辑是自上而下的, 过程中会产生一些横切性问题, 这些横切性的问题和我们的主业务逻辑关系不会散落在代码的各个地方, 造成难以维护, AOP的编程思想就是把业务逻辑和横切的问题进行分离, 从而达到解耦的目的, 使代码的重用性和开发效率高(目的是重用代码, 把公共的代码抽取出来)。

Spring AOP中有哪些不同的通知类型?

通知(advice)是你在你的程序中想要应用在其他模块中的横切关注点的实现。Advice主要有以下5种类型:

  • 前置通知(Before Advice): 在连接点之前执行的Advice,不过除非它抛出异常,否则没有能力中断执行流。使用@Before注解使用这个Advice。
Spring AOP的底层是怎样实现的?
Spring AOP默认使用JDK动态代理还是CGLIB?
Spring AOP的应用场景
Spring中的常用注解(最少写10个)
Spring MVC常用注解(最少写5个以上)
Spring MVC的流程
Spring MVC怎么样设定重定向和转发的?
如何解决POST请求中文乱码问题, GET的又如何处理呢?
Spring MVC需要接收前台JSON字符串并注入到对象中需要使用什么注解
Spring框架中用到了哪些设计模式