今天在卸载印象笔记时候,偶然看到之前留存的相关学习笔记,
删除可惜,索性博客备份一下。
Spring Account without Xml
1. 配置类,作用和bean.xml一样
1. 注解
1.@Configuration
- 作用:指定当前类是一个配置类、
- 细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写。
2.@ComponentScan
- 作用:用于通过注解指定spring在创建容器是时要扫描的包
- 属性:
- value:和basePackages的作用是一样的,都是用于指定创建容器要扫描的包,使用此注解就等同与在xml中配置了:
<context:component-scan base-package="com.chendr"></context:component-scan>
- value:和basePackages的作用是一样的,都是用于指定创建容器要扫描的包,使用此注解就等同与在xml中配置了:
3.@Bean
- 作用:用于把当前方法的返回值作为bean对象存入ioc的容器中
- 属性:
- name:用于指定Bean的id,默认值是当前方法的名称
- 细节:当使用注解配置时,如果方法有参数,spring框架会去容器查找有没有可用的bean对象。查找的 方式和Autowried注解的作用是一样的。
4.@Scope
- 作用:用于设置单例或者多例模式,默认单例
- @Scope(“prototype”) 则表示该bean为多例,即用即创建
4.@Import
- 作用:导入其他的配置类
- 属性:
- value:用于指定其他配置类的字节码,当我们使用Import的注解之后,有Import注解的类就是父配置类,而导入的类是子配置类。
5.@PropertySource
- 作用:用于指定properties文件的位置
- 属性:
- value:指定文件的名称和路径
- 关键字:classpath: 表示在类路径下
- value:指定文件的名称和路径
2. 通过AnnotationConfigApplicationContext获取核心容器
AppliacitonContext ac = new AnnotationConfigApplicationContext(SpringConfiguatior.class)