spring面试题之——注解

    技术2023-07-25  75

    什么是基于java的spring注解配置?给一些注解的例子

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

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

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

    什么是基于注解的容器配置?

    相对于xml文件,注解型的配置依赖于通过字节码元数据装配组件,而非尖括号(<bean>)的声明。

    开发者通过在相应的类,方法或属性上使用注解的方式,直接在组件类中进行配置,而不是使用xml表述bean的装配关系。

    怎样开启注解装配?

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

    @Required注解

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

    @Autowired注解

    @Autowired注解提供了更细粒度的控制,包括在何处以及如何完成自动装配,它的用法和@Required一样。

    @Autowired可以用在setter方法、构造器或者属性。

    @Autowired可以关闭默认行为:@Autowired(required=false)

    具体区别可以查看这篇博客:https://www.cnblogs.com/ysource/p/12787367.html

    @Qualifier注解

    当有多个类型相同的bean却只有一个需要自动装配时,将@Qualifier注解和@Autowired注解结合使用以消除这种混淆,指定需要装配的确切的bean。

    具体如何搭配使用可以参考:https://www.cnblogs.com/hjw-zq/p/10626347.html

     

     

    文章来自各大论坛和平台,并非本人原创,但是无奈找不到一个具体来源,故类别上写为原创。侵删。

    Processed: 0.008, SQL: 9