@ComponentScan
作用:用于指定 spring 在初始化容器时要扫描的包。作用和在spring的xml配置文件中的:
<context:component-scan base-package="com.itheima"/>相同。
属性: basePackages:用于指定要扫描的包。
@AliasFor("basePackages")
String[] value() default {};
@AliasFor("value")
String[] basePackages() default {};
源码中看到属性value和basePackages相同。
@Configuration
作用:用于指定当前类是一个spring配置类,当创建容器时会从该类上加载注解。
如果是主注解类,可以不用配置,但是若是子配置类,如果不在主配置文件@Import就必须加上。
属性:用于指定配置类的字节码
@Import
作用:用于导入其他配置类,在引入其他配置类时,可以不用再写@Configuration注解
属性:value[]:用于指定其他配置类的字节码。
@Bean
作用:该注解只能写在方法上,表明使用此方法创建一个对象,并且放入 spring 容器。
属性:
name,value:给当前@Bean 注解方法创建的对象指定一个名称(id)
initMethod:初始化后调用的方法
destoryMethod:销毁前调用的方法
细节:方法如果有形参,默认采用Autowired注入
@PropertySource
作用:用于读取properties配置文件
属性:
value[]:指定配置文件路径
ignoreResourceNotFound:是否忽略路径找不到的情况
encoding:指定编码格式