day02-spring基于注解的IoC以及IoC案例

5 篇文章 0 订阅

如何使用?

第一步:在类或方法的前面加上注解关键字
第二步:引入约束,注意此处约束多了xmlns:context...
第三步:添加配置文件,告知 Spring 在创建容器时要扫描的包,配置所需的标签不是在bean 约束中,而是一个名称为context 的名称空间和约束中

<context:component-scan base-package="要扫描的包"></context:component-scan>

Spring中ioc的常用注解

用于创建对象的
作用:等同于 xml 配置文件中编写一个 标签

@Component
	形式:@Component(value=" ")/@Component(" ")
	作用:用于把当前类对象存入 Spring 容器中
	属性:
		value : 用于指定 bean 的 id,当我们不写的时候,它的默认值是当前类名,且首字母改小写
				当值只有一个的时候可以省略
	
以下三个注解的作用与 @Component 完全一样,它们是 Spring 提供的更明确的划分,使三层对象更加清晰
@Controller 用于表现层
@Service 用于业务层
@Repository 用于持久层

用于注入数据的
作用:等同于在标签中写一个标签

@Autowired
作用:自动按照类型注入
	只要容器中有唯一的一个 bean 对象类型和要注入的变量类型匹配, 就可以注入成功;
	如果IOC容器中没有任何 bean 的类型和要注入的变量类型匹配,则报错。
出现位置:可以是变量上,也可以是方法上,
细节:在使用注解注入时,set 方法就不是必须的了

@Qualifier
作用:在按照类型注入的基础上再按照名称注入;
	它在给类成员注入时不能单独使用
	但是在给方法参数注入时可以。
属性:
	value : 用于指定注入的 bean 的 id
	
@Resource
作用:直接按照 bean 的 id 注入,可以直接使用
属性:
	name : 用于指定 bean 的 id
等同于@Autowired+@Qualifier

以上三个注入都只能注入其他 bean 类型的数据,而基本类型和 String 类型的数据无法使用上述注解实现。另外,集合类型的注入只能通过 xml 配置文件实现

@Value
作用:用于注入基本类型和 String 类型的数据
属性:
	value : 用于指定数据的值,它可以使用 Spring 中 Spel (即spring的el表达式)
	Spel 的写法:${表达式}

用于改变范围的
等同于在 标签中使用 scope 属性

@Scope
作用:用于指定 bean 的作用范围
属性:
	value : 指定范围的取值,同 xml 中值,常用为 singleton , prototype	

和生命周期相关(了解)
作用:等同于在标签中使用 init-methoddestroy-method

@PreDestory
作用:用于指定销毁方法

@Postcontrust
作用:用于指定初始化方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值