Spring-IOC-DI常用注解

1.@Autowired:用于注入数据的
            它们的作用就和在xml配置文件中的bean标签中写一个<property>标签的作用是一样的
            此注解先在扫描的bean中匹配class类,没有就找id ,找到全局唯一的就编译正确,否则错误,即有多个值或者没有就会报错
2.@Qualifier: 
            当有多个值或者没有值时,此时就需要它来进行指定 配合@Autowired注解一起使用
3.@Resource 
            直接按照bean的id名称注入。如果id属性不存在,可以再按照类型注入。它可以独立使用
            属性 name:用于指定bean的id,如果指定name,只能按照bean的id注入,不能按照类型注入
            
            以上三个注入都只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解实现(使用@Value)
4.@Configuration 
            表示该类是一个配置类,它的作用和applicationContext.xml是一样的
            当配置类作为AnnotationConfigApplicationContext对象创建时,该注解可以不写。
            public class MyConfigration {
            }
5.@ComponentScan
            作用:用于通过注解指定spring在创建容器时要扫描的包
            相当于:<context:component-scan base-package="com.itheima"></context:component-scan>
6.@Bean
            作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中
            属性:

            name:用于指定bean的id。当不写时,默认值是当前方法的名称
            依赖注入细节:
            我们使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有没有可用的bean对象,如果有bean对象,
            将对象通过方法的形参注入到方法中使用。==查找的方式和Autowired注解的作用是一样的==
7.@PropertySource
            作用:用于指定properties文件的位置
            属性:
                value:指定文件的名称和路径。
            关键字:classpath,表示类路径下
8.AnnotationConfigApplicationContext 当配置类作为AnnotationConfigApplicationContext对象创建的参数时,@Configuration注解可以不写
9.@Import 作用:用于导入其他的配置类 value:用于指定其他配置类的字节码
当我们使用Import的注解之后,有Import注解的类就父配置类,而导入的都是子配置类 相当于applicationContext.xml中的<import resource=””>
10.@PropertySource 作用:用于指定properties文件的位置
            属性:

            value:指定文件的名称和路径。

            关键字:classpath,表示类路径下
11.@Qualifier注解  作用:如果spring容器中出现了多个数据源类型,使用该注解指定注入的数据源
12.@Runwith Junit提供的一个注解把原有的main方法替换了,替换成spring提供的
13.@ContextConfiguration ocations:指定xml文件的位置,加上classpath关键字 
        @ContextConfiguration(locations = "classpath:applicationContext.xml")

发布了25 篇原创文章 · 获赞 4 · 访问量 714

猜你喜欢

转载自blog.csdn.net/qq_43149023/article/details/98474150