新注解
@Configuration 作用:指定当前类是一个配置类,等同于applicationContext.xml
@ComponentScan 作用:用于通过注解指定spring在创建容器时要扫描的包
属性:value,basePackages(两个属性别名互相引用,所以作用相同)指定要扫描的包
使用注解@ComponentScan(basePackages = {"com.study"})作用等同于
在xml中配置了<context:component-scan base-package="com.study"></context:component-scan>
@Bean 作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中
属性:name:用于指定bean的id,当不写时,默认值时当前方法的名称
细节:当使用注解配置方法时,如果方法有参数,spring会去容器中查找有没有可用的bean对象
查找的方式和Autowired相同,根据类型匹配,有一个注入成功,没有注入失败,有多个会找bean的id和该参数名相同的进行匹配
如果有多个,可以在参数前使用@Qualifier("")注解指定容器中的bean(单独使用的情况)
@Bean
public JdbcTemplate createJdbcTemplate(@Qualifier("ds1") DataSource dataSource){
return new JdbcTemplate(dataSource);
}
@Scope 作用:声明此bean对象是多例的
@Import 作用:导入其他配置类
参数:value:用于指定其他配置类的字节码
当我们使用@Import后,当前类为主配置类,导入的为子配置类
@PropertySource 作用:用于指定properties文件的位置
属性:value:指定文件的名称和路径
关键字:classpath:表示类路径下