Java教程

【架构师面试-Java编程基本功-16】-Spring 注解

本文主要是介绍【架构师面试-Java编程基本功-16】-Spring 注解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

基于Java的Spring注解配置

基于 Java 的配置,允许你在少量的 Java 注解的帮助下,进行你的大部分Spring 配置而非通过 XML 文件。

以@Configuration 注解为例,它用来标记类可以当做一个 bean 的定义,被 Spring IOC 容器使用。

另一个例子是@Bean 注解,它表示此方法将要返回一个对象,作为一个bean 注册进 Spring 应用上下文。

怎样开启注解装配

注解装配在默认情况下是不开启的,为了使用注解装配,我们必须在 Spring 配置文件中配置 <context:annotation-config/>元素。

@Component, @Controller, @Repository, @Service 的区别

@Component:这将 java 类标记为 bean。它是任何 Spring 管理组件的通用构造型。spring 的组件扫描机制现在可以将其拾取并将其拉入应用程序环境中。

@Controller:这将一个类标记为 Spring Web MVC 控制器。标有它的 Bean会自动导入到 IOC 容器中。

@Service:此注解是组件注解的特化。它不会对 @Component 注解提供任何其他行为。您可以在服务层类中使用 @Service 而不是 @Component,因为它以更好的方式指定了意图。

@Repository:这个注解是具有类似用途和功能的 @Component 注解的特化。它为 DAO 提供了额外的好处。它将 DAO 导入 IOC 容器,并使未经检查的异常有资格转换为 Spring DataAccessException。

@Required 注解有什么作用

这个注解表明 bean 的属性必须在配置的时候设置,通过一个 bean 定义的显式的属性值或通过自动装配,若@Required 注解的 bean 属性未被设置,容器将抛出BeanInitializationException。示例:

@Autowired 注解有什么作用

@Autowired 默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在(可以设置它 required 属性为 false)。@Autowired 注解提供了更细粒度的控制,包括在何处以及如何完成自动装配。它的用法和@Required 一样,修饰 setter 方法、构造器、属性或者具有任意名称和/或多个参数的 PN 方法。

@Autowired 和@Resource 之间的区别

@Autowired 和@Resource 可用于:构造函数、成员变量、Setter 方法

@Autowired 和@Resource 之间的区别在于

@Autowired 默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在(可以设置它 required 属性为 false)。

@Resource 默认是按照名称来装配注入的,只有当找不到与名称匹配的 bean 才会按照类型来装配注入。

@Qualifier 注解有什么作用

当您创建多个相同类型的 bean 并希望仅使用属性装配其中一个 bean 时,您可以使用@Qualifier 注解和 @Autowired 通过指定应该装配哪个确切的 bean 来消除歧义。

@RequestMapping 注解有什么用?

@RequestMapping 注解用于将特定 HTTP 请求方法映射到将处理相应请求的控制器中的特定类/方法。此注释可应用于两个级别:

类级别:映射请求的 URL

方法级别:映射 URL 以及 HTTP 请求方法

这篇关于【架构师面试-Java编程基本功-16】-Spring 注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!