SSM6 —— Spring注解开发

https://www.bilibili.com/video/BV1WZ4y1P7Bp?p=28

2.1 Spring原始注解

在这里插入图片描述
在这里插入图片描述

代码

在这里插入图片描述
之前是在applicationContext.xml中配置bean
在这里插入图片描述

现在还没有和web层集成,因此弄一个假的web层(控制台输出):
在这里插入图片描述
然后使用注解替代bean

  1. 在这里插入图片描述
    等价于
    在这里插入图片描述
  2. 在这里插入图片描述
    等价于@Component(“userService”)在这里插入图片描述
    在这里插入图片描述
    等价于
    在这里插入图片描述
  3. 测试,发现报错
    在这里插入图片描述
    在这里插入图片描述
    原因:需要配置组件扫描
    在这里插入图片描述
    在这里插入图片描述
    然后spring就可以帮我们完成解析及注入了
    再次测试,成功
    在这里插入图片描述

不同层使用不同的实例化Bean的注解(@Component)

在这里插入图片描述
@Controller、@Service、@Repository和@Component功能一样,只不过可读性强一些,用在不同层上
在这里插入图片描述
在这里插入图片描述

注入引用类型(@Autowired + @Qualifier \ @Resource)

使用注解可以把set方法删掉,注解可以直接使用反射进行赋值
在这里插入图片描述
变为
在这里插入图片描述
但是使用xml配置时不可以删掉set方法

1. 只使用@Autowired(按照数据类型匹配)

还可以把@Qualifier("userDao")注释掉
在这里插入图片描述

当只使用@Autowired时,他会按照数据类型从Spring容器中进行匹配
在这里插入图片描述
这里的数据类型是UserDao,而在此之前,Spring容器中已经有了"userDao"
在这里插入图片描述
如果容器中有多个UserDao类型的bean,那么只使用@Autowired就不行了

2. 使用@Autowired+@Qualifier(按照名称匹配)

在这里插入图片描述

3. @Resource相当于@Autowired+@Qualifier

在这里插入图片描述

注入普通数据类型(@Value)

在这里插入图片描述
使用properties文件进行赋值:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

@Scope

在这里插入图片描述
在这里插入图片描述

@PostConsruct / @PreDestory

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

2.2 Spring新注解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建一个配置类
在这里插入图片描述
在这里插入图片描述
等价于
在这里插入图片描述
但是< bean >中的value不是写死的

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
把跟数据源有关的放到DataSourceConfiguration.java中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样注解就完美的替代了xml文件
修改测试:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值