spring ioc控制反转 注解注入

spring 的注解注入有两种情况:第一种是配置文件引用注解,第二种是配置类引用注解

 ioc常用的注解

标志bean的注解

 上面4个注解的作用都是标志类的 bean id,其中第4个注解标志的是Dao、service、controller层的类,一般用在不确定类所处的层级使用,而其他3分别对象mvc的3层。这样就能够使得我们在维护和操作时能够更加的简单。

标志Dao层

 标志service层

如果把注解都更换成Component,代码执行的功能相同,但是在维护的时候更费力,所以一般都是使用对应的注解进行标识。

注入属性的注解

 @Autowired(不用填入参数) 和 @Qualifier (填入的参数为 bean 的 id)

 这两个注解一般同时使用。代表着通过属性的类型和属性的名称在spring容器中自动导

@Resource注解(这个注解的参数可以传入一个数组,里面的值为 bean 的 id)

该注解可以取代 @Autowired 和 @Qualifier 的共同使用,用于简化代码

@Value注解(使用在基本数据类型之上,参数为传入的值)

 不过这个注解一般不这样使用,一般我们通过这个注解读取配置信息,然后再通过SpEL去注入,所以它一般跟@PropertySource 注解一起使用

@PropertySource 注解(参数为配置信息的 path )

 我们如果使用读取配置信息的注解使用Value注解时,我们呢一般通过spring的El表达式去传入值给value

配置类的注解

@Configuration 注解 (没有参数)

这个注解的作用是标识我们的类为配置类,每一个配置类都需要有这个标识

 @ComponentScan 注解 (参数为注解扫描的包的路径)

这个注解跟 Configuration 注解一样,再配置类都需要标识

 @Import 注解 (参数可以存放数组,数组元素的类型是一个 Class 对象)

 这个注解用来引入另外的注解,我们再 spring 的配置类中,只有一个总的配置类,其他的模块配置类需要导入再总配置类中。

 其他注解

 @Bean 注解 (参数为设置bean 对象的 id 值)

在单例的模式中或者需要返回一个对象的方法中,我们使用这个方法可以将我们需要返回的对象直接的储存在 spring 容器中,并且给这个对象一个唯一标识 id 

剩下的注解就不再说明了 

配置文件引入注解依赖

使用配置文件引入注解时,需要在默认创建的配置文件上添加语句

xmlns:context="http://www.springframework.org/schema/context"

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

添加之前

添加之后

 在添加完成之后需要设置包扫描的位置

使用 context:component-scan 标签添加

 在这之后我们的spring就会识别到我们的注解,使用这个方法我们实例化的 ApplicationContext 是他的一个实现类ClassPathXmlApplicationContext ,在它的构造器中需要传入我们的xml文件的path

配置类引入注解依赖

配置类引入注解依赖其实在上面的配置类注解上已经说完了,只是在实例化的时候需要注意他实例化的是 AnnotationConfigApplicationContext ,它的构造器传入的参数是配置类的一个 Class 对象

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值