javacofig几个常用注解

1、问题描述

javacofig使用注解来描述Bean配置的组件,记录几个常用的注解,以便后续回顾。

2、问题说明

(1)@Configuration

在类上打上这一标签,表示这个类是配置类

(2)@Bean

bean的定义,相当于xml的

<bean id="laowangService" class="org.abc.map.LaowangService" />

(3)@Import注解须知

  • @Import只能用在类上 ,@Import通过快速导入的方式实现把实例加入spring的IOC容器中

  • 加入IOC容器的方式有很多种,@Import注解可以用于导入第三方包 ,当然@Bean注解也可以,但是@Import注解快速导入的方式更加便捷

    启动类中加上@Enable**的,是用@import注解,加载到ioc容器中的。

(4)@ImportResource

相当于xml:

<import resource="applicationContext-xxx.xml">

(5)@PropertySource

spring 3.1开始引入,它是基于java config的注解,用于读取properties文件

(6)@AliasFor

表示别名,它可以添加到自定义注解的两个属性上,表示这两个属性互为别名。也就是说,这两个属性其实是同一个含义。

public @interface Configuration {
   @AliasFor(annotation = Component.class)
   String value() default "";

@Controller等注解本质上也是@Component

@SpringBootApplication注解,其实是三个注解的组合,分别是:

(7)@SpringBootConfiguration

@SpringBootConfiguration等同于@Configuration,带有spring的标志,是属于spring的一个配置类

(8)@EnableAutoConfiguration

@EnableAutoConfiguration 也是借助 @Import 的帮助,将所有符合自动配置条件的 bean 定义加载到 IoC 容器。

(9) ComponentScan()

相当于xml的<context:componentscan basepakage=>,默认情况下就不需要配置@ComponentScan这个注解了。 因为Application类,在启动的时候,默认是加载和Application类所在同一个目录下的所有类,包括所有子目录下的类。


更多信息请关注公众号:「软件老王」,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术见解和生活故事。

posted @ 2022-07-22 19:38  软件老王  阅读(79)  评论(0编辑  收藏  举报