参考的学习视频→https://b23.tv/av47952931/p82
@Configuration
作用:指定当前类为一个配置类
细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写
@ComponentScan
作用:用于通过注解指定spring在创建容器时要扫描的包
属性:value 和basePackages作用相同,等同于xml配置语句↓
<!--告知spring在创建容器时要扫描的包-->
<context:component-scan base-package="com.example"></context:component-scan>
@Bean
作用:用于把当前方法的返回值作为Bean对象存入spring的ioc容器中
属性:name 用于指定bean的id,当不写时,默认值是当前方法的名称
细节:当使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有无可用的Bean对象,查找的方式和@Autowired注解相同。
细节:当使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有无可用的Bean对象,查找的方式和@Autowired注解相同。
@Import
作用:用于导入其他的注释类
属性:value 用于指定其他配置类的字节码
属性:value 用于指定其他配置类的字节码
@PropertySource
作用:用于指定properties文件的位置
属性:value 指定文件的名称和路径
关键字:classpath 表示类路径下
属性:value 指定文件的名称和路径
关键字:classpath 表示类路径下
示例:新建一个SpringConfiguration类
将测试类中获取容器的方法改成AnnotationConfigApplicationContext,运行一下,成功~
-如果要用多个配置类
方法1(主从关系):在主配置类的@ComponentScan注解中加入从配置文件所在的包,从配置类一定要加@Configuration注解,AnnotationConfigApplicationContext方法只用传入主配置类做参数即可
自定义的主配置类:SpringConfiguration
自定义的从配置类:JdbcConfiguration
加载注解配置类(仅加载主类)
方法2(主从关系):在主配置类的@ComponentScan注解中加入@Import注解导入其余配置类
加载注解配置类(仅加载主类)
方法3(平行关系):将所有配置类都作为AnnotationConfigApplicationContext方法参数传入
▲以上三种方法中,仅方法一的从配置类必须使用@Configuration注解,其余情况下该注解都不是必要的
-如果要把参数放到properties文件中
这时候就要用上@PropertySource注解了
然后配置properties文件,就OK了