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")

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: IoC(Inversion of Control)是一种设计模式,它将对象的创建、管理和调用的控制权从应用程序代码中移动到框架或容器中。这意味着应用程序代码不再需要显式地创建和管理对象,而是可以将这些任务委托给框架或容器。IoC的主要目标是提高代码的可重用性、灵活性和可维护性。 DI(Dependency Injection)是IoC的一种实现方式。DI是指将一个对象所依赖的其他对象的引用通过构造函数参数、方法参数或属性注入的方式来实现。这种方式可以让对象更加松散耦合,并且使得代码更加可测试和可维护。 因此,IoC是一种设计模式,而DI是IoC的一种具体实现方式。在实际应用中,我们经常使用DI来实现IoC。 ### 回答2: Spring的IoC(Inversion of Control)和DI(Dependency Injection)是Spring框架的核心概念,它们有着紧密的关系,但又存在一定的区别。 首先,IoC是一种设计原则,它将程序的控制权从应用本身转移到了外部容器中。传统的应用程序通常由应用程序自己直接实例化和管理对象,而IoC则是通过外部容器来管理对象的创建和生命周期。这种控制权的反转让应用程序的解耦程度更高,更易于测试、维护和扩展。 而DI是IoC的实现方式之一,它通过依赖注入的方式来实现控制权的反转。DI是指将一个对象所需要的依赖关系从外部注入到对象中,而不是由对象自己去创建和管理。这样做的好处是可以方便地替换和调整依赖关系,使得应用程序的组件更加灵活和可复用。 具体来说,Spring的IoC容器通过XML配置文件或注解的方式来描述对象的依赖关系,然后在运行时自动实例化和注入依赖对象。这种方式遵循了开闭原则和单一责任原则,使得应用程序更易于维护和扩展。 总结起来,IoC是一种设计原则,而DI是实现这种原则的方式之一。Spring通过IoC容器和DI机制,实现了解耦、灵活和可复用的应用程序组件。 ### 回答3: Spring的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)是两个概念,但它们是紧密相关的。 IoC是一种设计原则,它的核心思想是将对象的创建和管理的控制权交给容器,而不是由开发人员手动进行管理。这意味着在IoC中,对象之间的关系和创建过程都由容器负责,我们只需要通过配置告诉容器需要哪些对象、它们之间的关系如何,然后容器将自动完成对象的创建和关系的建立。 DI则是IoC的一种实现方式,它是指通过依赖注入的方式将对象之间的依赖关系传递给对象本身。在DI中,我们将依赖的对象通过构造函数、Setter方法或接口注入的方式传递给需要依赖的对象,从而实现对象之间的解耦。通过依赖注入,我们可以很方便地替换依赖对象或者修改依赖关系,而不需要修改原有代码。 因此,可以说DI是IoC的一种具体实现方式。在Spring框架中,我们常常使用DI来实现IoC。通过Spring容器的配置,我们可以将对象之间的依赖关系告知Spring容器,然后由Spring容器负责创建对象并注入依赖关系。 总结来说,IoC是一种设计原则,而DI是实现IoC的具体方式,通过依赖注入将对象之间的关系传递给对象本身。在Spring中,我们常常使用DI来实现IoC,将对象的创建和依赖关系的管理交给Spring容器来处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值