最新整理的100道大厂高频spring面试题( 五 )


50、定义@ControllerAdvice有@ControllerAdvice注解的类可以显式声明为Spring bean , 或者通过类路径扫描自动注入 。 所有这样的bean都是通过AnnotationAwareOrderComparator排序的 , 即基于@Order和Ordered , 并在运行时按该顺序调用 。 对于处理异常 , 将使用匹配的异常处理程序方法在第一个通知上选择一个@ExceptionHandler 。 对于模型属性和InitBinder初始化 , @ModelAttribute和@InitBinder方法也将遵循@ControllerAdvice顺序 。
51、我们可以将一个个对象作为控制器处理程序方法的响应吗?是的 , 我们可以使用@ResponseBody注解在restful web服务中发送基于JSON或XML的响应 。
52、解释@ModelAttribute?@ModelAttribute注解引用模型对象的属性 , 用于准备模型数据 。 此注解将方法变量或模型对象绑定到命名的模型属性 。 此注解接受一个可选值 , 该值表示模型属性的名称 。 @ModelAttribute注解可以在参数级别或方法级别使用 。 在参数级别使用此注解是为了接受请求表单值 , 而在方法级别则是将默认值分配给模型 。
53、@RequestMapping注解【最新整理的100道大厂高频spring面试题】@RequestMapping注解用于将web请求映射到处理程序类(即控制器)或处理程序方法上 , 它可以在方法级或类级使用 。 如果开发人员在类级别使用@RequestMapping注释 , 它将作为方法级路径的相对路径 。
54、什么是spring中基于java的配置?给出一注解示例基于Java的配置选项使你能够在不使用XML的情况下编写大多数Spring配置 , 但是需要一些基于Java的注释的帮助 。
一个例子是@Configuration注释 , 它表示spring IOC容器可以将该类用作bean定义的源 。 另一个例子是@Bean注解的方法 , 该方法将返回一个对象 , 该对象应在Spring应用程序上下文中注册为bean 。
55、什么是基于注解的容器配置?XML配置之外的另一种选择是基于注解的配置 , 它依赖字节码元数据来装配组件 , 而不是尖括号声明 。 开发人员不使用XML来描述bean装配 , 而是通过在相关的类、方法或字段声明上使用注解将配置移动到组件类中 。
56、如何打开注解装配?默认情况下 , Spring容器中的注解装配不会打开 。 为了使用基于注解的装配 , 我们必须在Spring配置文件中配置 元素 。
E.Spring 数据访问57、Spring JDBC API中有哪些类?

  • JdbcTemplate
  • SimpleJdbcTemplate
  • NamedParameterJdbcTemplate
  • SimpleJdbcInsert
  • SimpleJdbcCall
58、如何在Spring框架中更高效地使用JDBC?使用SpringJDBC 框架 , 资源管理和错误处理的代价都会被减轻 。 所以开发者只需写statements 和 queries从数据存取数据 , JDBC也可以在Spring框架提供的模板类的帮助下更有效地被使用 , 这个模板叫JdbcTemplate。
59、JdbcTemplateJdbcTemplate 类提供了很多便利的方法解决诸如把数据库数据转变成基本数据类型或对象 , 执行写好的或可调用的数据库操作语句 , 提供自定义的数据错误处理 。
60、如何通过spring JdbcTemplate获取数据?有两个接口可用于从数据库中获取数据:
  • ResultSetExtractor
  • RowMapper
61、NamedParameterJdbcTemplate的优点是什么?NamedParameterJdbcTemplate是基于spring提供的JDBCTemplate构建的 , 用于与数据库的底层交互 。 它可以将SQL查询参数作为键值对传递 。 因此 , 与索引或“?”相比 , 程序代码的可读性要高得多 , 因此可以作为更好的标识“?“”占位符方法 。 特别是在参数数目庞大的情况下 , 后者更难跟踪 。
62、什么是SpringJDBCTemplate类以及如何使用它?JdbcTemplate类执行SQL查询、update语句和存储过程调用 , 对结果集执行迭代 , 并提取返回的参数值 。 它隐式处理资源的创建和释放 , 从而避免诸如忘记关闭连接之类的错误 。 它还捕获JDBC异常并进行包装 。
63、 JDBC和Spring JDBC有什么区别?Spring JDBC在JDBC的顶层提供数据操作:
1、定义连接参数
2、打开连接
3、指定语句
4、准备并执行语句
5、设置循环以迭代结果(如果有)
6、操作每个迭代
7、处理任何异常
8、处理事务
9、关闭连接
64、Spring DAO支持Spring中对数据访问对象(DAO)的支持目的使人们更容易以一致的方式使用JDBC、Hibernate或JDO等数据访问技术 。 这使我们可以相当容易地在持久性技术之间切换 , 也可以不必担心捕捉每种技术特有的异常 。
65、使用Spring访问Hibernate有哪些方式?有两种方式使用Spirng访问Hibernate 。