fegin需要实现类_Spring中使用注解实现IOC

使用注解实现IOC

准备一个实体类和一个DAO接口

实体类

ffc33229789324a75fe80f2ecd138572.png

DAO接口

83e35c9379f94c328834be9463a7839a.png

编写DAO实现类

代码中通过注解定义了一个名为userDao的bean。@Component("userDao")等价于

2dd7864a3996de67e635b01f699c3552.png

除了@Component,Spring还提供了3个特殊的注解

@Repository 用于标注DAO

@Service 用于标注业务类

@Controller 用户标注控制器类

另外使用@Autowired注解实现bean的装配

准备一个业务接口

1adab7c99e845eaf6be1dd1c47233597.png

编写实现类

d4a44930ed779c2f11f02224d5fa6c1b.png

我们装配一个UserDao,修改UserServiceImpl代码

通过@Service标注了一个业务Bean,并使用@Autowired为dao属性注入所依赖的对象,spring将直接为dao属性赋值.

cf88e5a2d6600f39f74f5ec18089e795.png

如果有一个以上类型相匹配的Bean时,则可以使用@Qualifier指定所需要的Bean,例如

0df2c63d9ef3a981b27d382704a8b1e7.png

使用注解定义完Bean组件,接下来就可以使用注解的配置信息启动Spring容器

现在Spring配置文件中添加对Context命名空间的声明

然后使用context命名空间下的component-scan标签扫描注解标注的类,base-package属性指定了需要扫描的基准包(多个包可用逗号隔开),Spring会扫描这些包中的所有类,获取Bean的定义信息。

0da00f5c1a51031ebccb7e4e83730961.png

编写测试类

e032efa5e829bcd3e225d4f1a0f0a1ae.png

运行结果

c8726d5a4a2ae8d69afeb7a452d4b188.png

除了@Autowired以外,Spring还提供了@Resource注解实现组件装配,该注解也能对类的成员变量提供注入功能

@Resource有一个name属性,默认情况下Spring将这个属性的值解释为要注入的Bean的名称,根据字段名或者setter方法产生默认的名称

5689bcf80d856ee5bf4fb117b00c2973.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值