Spring框架中注解的用法

 

目录

☆☆☆☆☆注解

注册组件

扫描包配置

类上使用组件注册功能的注解

取出组件(注入功能)

值的注入

组件注入

Scope和生命周期

 单元测试


这里要介绍下很重要的一个东西,注解。可以帮助我们节省很多事情,因为使用bean标签去注册组件过程还是很繁琐的

除了实例工厂外我们都有使用到class属性,实例工厂用的是factory-bean,factory-method

☆☆☆☆☆注解

在说注解之前还是要强调下Spring的核心是什么?控制反转和依赖注入

注册组件

之前是写了个bean标签进行注册(解耦到配置文件中)

注解方法:设置个包目录,使用注解来注册组件,设置了一个包目录,找到所有的类,遍历,是否包含组件注册功能的注解

扫描包配置

类上使用组件注册功能的注解

@Component

@Service service层的组件可以使用这个注解

@Repository 通常针对dao层组件,也就是mapper层组件

@Controller(SpringMVC阶段才会去使用)

可以使用注解的value属性指定组件id;如果没有使用value属性,默认的组件id是类名的首字母小写

取出组件(注入功能)

容器中的组件里才可以使用注入功能

值的注入

以上这部操作值和成员变量是紧密耦合在一起的,我们可以通过properties配置文件(通过key-value的方式)来实现值和变量之间的解耦,如下所示

加前缀可以区分出这是不同功能的参数,并且直接写username或者password这些参数很容易引用到系统变量

然后还要告诉spring应用你要加载这个配置文件,才能从配置文件中取出来

值 

 然后在serviceimpl类中需要使用这种符号引用

组件注入

注入功能:为容器中的组件的成员变量赋值,维护组件之间的依赖关系

注意:注入功能要在容器中的组件里使用,组件一定是要从spring容器中取出来的才能维护组件之间的依赖关系

 使用@Autowired(最常用,默认按照类型注入)来给组件注入值,这个值实际上和从容器直接取出的userDao是同一个值,这里还是要强调下,我们维护的是组件之间的依赖关系,和我上一篇文章中介绍的图是一样的。 

@Autowired+@Qualifier是组合id的方式组件注册

以上就是我们使用的三组注解

Scope和生命周期

@Scope:直接写在类上

 单元测试

目的是为了方便的测试组件提供的方法

从容器中取出组件

👉 之前取出方式:applicationContext.getBean

👉 当前:注入功能的注解

相当于把单元测试类当成是容器中的组件,使用注入功能的注解

准备工作,额外引入一个依赖spring-test

加载配置文件步骤:

引入类运行器---加载classpath路径下的XXX.xml文件

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值