「5」进大厂必须掌握的面试题-Java面试-spring( 二 )


全局异常处理程序:异常处理是一个跨领域的问题 , Spring提供了@ControllerAdvice批注 , 我们可以将其与任何类一起使用来定义全局异常处理程序 。
HandlerExceptionResolver实现:对于一般的异常 , 大多数时候我们提供静态页面 。 Spring Framework提供了HandlerExceptionResolver接口 , 我们可以通过该接口来创建全局异常处理程序 。 这种定义全局异常处理程序的其他方法背后的原因是 , Spring框架还提供了默认实现类 , 我们可以在我们的Spring bean配置文件中定义这些默认实现类 , 以获得Spring框架异常处理的好处 。
Q9 。 您使用了哪些重要的Spring批注?我在项目中使用的一些Spring注释是:
@Controller –用于Spring MVC项目中的控制器类 。
@RequestMapping –用于在控制器处理程序方法中配置URI映射 。 这是一个非常重要的注释 , 因此您应该阅读Spring MVC RequestMapping注释示例
@ResponseBody –用于发送对象作为响应 , 通常用于发送XML或JSON数据作为响应 。
@PathVariable –用于将动态值从URI映射到处理程序方法参数 。
@Autowired –用于自动装配Spring bean中的依赖项 。
@Qualifier –带有@Autowired注释 , 以避免在存在多个bean类型的实例时造成混淆 。
@Service –用于服务类 。
@Scope –用于配置Spring bean的范围 。
@ Configuration , @ ComponentScan和@Bean –用于基于Java的配置 。
AspectJ注释 , 用于配置方面和建议 , @ Aspect , @ Before , @ After , @ Around , @ Pointcut等 。
Q10 。 如何集成Spring和Hibernate框架?如果您使用的是SessionFactory提供当前会话的Hibernate 3+ , 那么我们可以使用Spring ORM模块来集成Spring和Hibernate框架 , 那么您应该避免使用HibernateTemplate或HibernateDaoSupport类 , 而最好使用带有依赖项注入的DAO模式进行集成 。
另外 , Spring ORM还提供了对使用Spring声明式事务管理的支持 , 因此您应该利用它 , 而不是使用休眠的样板代码进行事务管理 。
Q11 。 命名Spring支持的事务管理的类型 。 Spring支持两种类型的事务管理 。 他们是:

  1. 程序化事务管理: 在这种情况下 , 借助编程来管理事务 。 它为您提供了极大的灵活性 , 但是很难维护 。
  2. 声明式事务管理: 在此 , 事务管理与业务代码分开 。 仅注释或基于XML的配置用于管理事务 。欢迎关注 Java架构师社区公众号. 本文转载自Java架构师必看 ,更多内容点击查看!


推荐阅读