当前位置: 首页 > news >正文

Spring——注解开发依赖注入和管理第三方bean

 

自动装配(引用类型)

环境准备:

文件结构如下图所示,Dao层的实现类里面有一个save方法,Service层里面的实现类有一个BookDao的声明和一个set方法,同时也有一个save方法,配置类的扫描范围如图所示

 

 在当前的一个测试类当中使用注解配置应用上下文运行如下的代码测试如图

虽然bookDaoImpl和bookServiceImpl都被注册到了IOC容器里面,但是因为没有成功实现依赖注入 ,因此只执行了service的save方法;

 自动依赖注入(按照类型自动注入)

要想给bookService里面bookDao实现注入,只需要用到一个注解

@Autowired   自动装配

现在可以看见bookDao类有成功实现了注入。这里可以直接把bookDao的set方法只留下一个声明

 到这里就可以把之前setter方法注入,构造函数注入等方法都统统抛弃了

按照名称精确注入

 在上面的方法中如果bookDao只有一个实现类还可以使用按照类型装配,但是如果bookDao有两个实现类就必须要采用按名称装配。

需要在被注入的对象上面用到一个新的注解

@Qualifier("bookDao")   ,bookDao是实现类的名称

 

 总结:

 

 自动装配(简单类型)

需要用到一个@Value的标签,参数就是需要注入的值

 

 上面是在类里面直接注入值,但是属性值有可能来自外部的properties文件,下面使用加载properties文件的方式实现注入

第一步(加载properties到配置类)

在 properties中如下配置

使用一个@PropertySource(属性源)注解加载properties文件

 第二步(使用参数占位符加载参数)

 注意:

当需要加载多个properties文件时候需要像下面这样写

第三方bean管理和第三方bean依赖注入

使用阿里的druid作为第三方资源 

第一步

在配置类中手动编写方法获取要管理的对象

这里使用加载properties文件的方式注入对象参数

第二步(将上面方法的返回值定义成一个bean)

 在方法上面使用@Bean注解表示当前方法的返回值是一个bean,

可以设定名称为"datasource"

 第三步

在测试代码中获取该bean对象并打印

通常第三方bean对象编写都要单独使用一个配置类使用然后再导入本项目的配置类当中

新建一个JdbcConfig,然后再在本配置类使用一个注解导入

 

 

可以精确看出导入了哪些配置类

  

 

http://www.lryc.cn/news/36263.html

相关文章:

  • shell可能考你但是不常用的基础($篇)
  • 项目管理必备:如何绘制一份优秀的甘特图?
  • 【点云学习】多时相激光雷达点云
  • 使用QT C++编写一个随机生成网络ip地址的程序
  • Web前端学习:章三 -- JavaScript预热(三)
  • java实用小技巧:判断list是否有重复项
  • SQL优化常用招数(上)
  • C++并发之探索编程三
  • 某智能驾驶企业:CACTER云网关为O365系统护航
  • 网络安全与信息安全的主要区别讲解-行云管家
  • Zabbix6.2利用模板和自定义监控项监控华为AR3260路由器
  • MySQL Connector/C++使用过程中的问题
  • SpringBoot下的Spring——DAY04——动态代理总结、AOP、自定义注解进行拦截、动态获取注解参数、通知方法(内含源代码)
  • Spark MLlib概述
  • Git 命令行5步解决冲突方法(亲测有效)
  • 在线帮助文档——让用户更方便地获取帮助
  • 一小时轻松掌握Git,看这一篇就足够
  • spring cloud stream 自定义binder
  • 计算机网络之HTTP协议
  • 如何挖掘专利创新点?
  • 虚函数和纯虚函数
  • Framework源码面试——Handler与事件传递机制面试集合
  • iOS开发-bugly符号表自动上传发布自动化shell
  • MySQL OCP888题解046-哪些语句会被记录到binlog
  • 【前端学习】D5:CSS进阶
  • 【bioinfo】融合检测软件FusionMap分析流程和报告结果
  • C++基础了解-17-C++日期 时间
  • MOV压敏电阻的几种电路元件功能及不同优势讲解
  • uniapp+uniCloud实战项目报修小程序开发
  • 演唱会的火车票没了?Python实现12306查票以及zidong购票....