自动装配

数据层:

业务层:

自动装配:

结果:

若是将自动装配的注解放在set函数处:

结果:

结果相同,若是将set方法去掉的话:

结果:

这样的话,set方法也得到解放了耶!

以上都是按照类型装配,也就是说,若是存在两个类型相同的对象,必会报错!

那么,在这种情况下,我们就需要引入名称进行装配了:

在两个相同类型不同对象的BookDao已经分别命名完成之后

较笨的方法,可以在可执行文件里面将BookDao命名为相应的命名名称进行调用(十分不推荐,了解即可)

使用注解@Qualifier("名称")进行调用:

注意!我们的自动装配的注解是不能删掉的!qualifier的使用必须有autowired的参与

使用@Value()可以实现简单类型的注入

例如:

要是想要更加灵活的话,我们可以这么做:

我们可以利用上jdbc.properties文件:

然后在配置文件里面利用注解调用到jdbc.properties:

然后就直接在实现类里面进行调用:

得到结果:

完成!这种方法耦合度低,需要记住!

Spring--注解开发+依赖注入的更多相关文章

  1. Java开发学习(十二)----基于注解开发依赖注入

    Spring为了使用注解简化开发,并没有提供构造函数注入.setter注入对应的注解,只提供了自动装配的注解实现. 1.环境准备 首先准备环境: 创建一个Maven项目 pom.xml添加Spring ...

  2. 07 Spring框架 依赖注入(四)基于注解的依赖注入

    前面几节我们都在使用xml进行依赖的注入,但是在实际的开发中我们往往偏爱于使用注解进行依赖注入,因为这样更符合我们人的思维,并且更加快捷,本节就来讲述Spring基于注解的依赖注入: 信息注入注解 @ ...

  3. spring 四种依赖注入方式以及注解注入方式

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  4. Spring:基于注解的依赖注入的使用

    1.什么是pojo?什么是bean? 首先,在之前几篇Spring的介绍文章当中,自己都提到了一个名词叫做POJO类,但是在回顾Spring的注解的使用的时候,去形容java当中的对象还有一个名词是叫 ...

  5. Spring Boot2(007):关于Spring beans、依赖注入 和 @SpringBootApplication 注解

    一.关于Spring beans 和 依赖注入(Dependency Injection) spring boot 和 Spring 全家桶无缝衔接,开发过程中可以很轻松地使用 Spring 全家桶的 ...

  6. spring六种种依赖注入方式

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  7. JavaEE开发之Spring中的依赖注入与AOP

    上篇博客我们系统的聊了<JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建>,并在之前的博客中我们聊了依赖注入的相关东西,并且使用Objective-C的R ...

  8. JavaEE开发之Spring中的依赖注入与AOP编程

    上篇博客我们系统的聊了<JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建>,并在之前的博客中我们聊了依赖注入的相关东西,并且使用Objective-C的R ...

  9. 浅尝Spring注解开发_Bean生命周期及执行过程

    Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含Bean生命周期.自定义初始化方法.Debug BeanPostProcessor执行过程及在Spring底层中的应 ...

  10. Spring注解开发_Spring容器创建概述

    浅尝Spring注解开发_Spring容器创建概述 浅尝Spring注解开发,基于Spring 4.3.12 概述Spring容器创建的过程,包括12个方法的执行 浅尝Spring注解开发_自定义注册 ...

随机推荐

  1. ubuntu 20.04 基于kubeadm部署kubernetes 1.22.4集群及部署集群管理工具

    一.环境准备: 集群版本:kubernetes 1.22.4 服务器系统 节点IP 节点类型 服务器-内存/CUP hostname Ubuntu 20.04 192.168.1.101 主节点 2G ...

  2. Jmeter安装及环境配置

    Jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi 这里注意Source和Binaries两种下载分类 Source 是源代码版,你需要自己 ...

  3. Miller-Rabin素性判定算法

    Miller-Rabin素性判定算法是一种基于概率的判定算法,每次判定n是素数的正确性概率至少为75%,出错的概率小于25%. 如果对n进行k次素性检测,如果结果n为素数,那么n为合数的概率为1/(4 ...

  4. CMD Debug大全

    'service' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 先看环境变量配置是否到位,再使用管理员运行cmd

  5. ffmpeg命令参数

    用法 ffmpeg -i hello.mp3 -acodec libfdk_aac hello.aac mp3转aac ffmpeg -i hello.aac -acodec libmp3lame h ...

  6. SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated

    错误提示: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in ...

  7. delete、truncate、drop的区别

    delete:只删除数据,不删除结构.删除的数据存储在系统回滚段中,可以回滚.不会自动提交事务. 在InnoDB中,delete不会真的把数据删除,mysql实际上只是给删除的数据打了个标记为已删除, ...

  8. 利用python-pptx包批量修改ppt格式

    最近实习需要对若干ppt进行格式上的调整,主要就是将标题的位置.对齐方式.字体等统一,人工修改又麻烦又容易错. 因此结合网上的pptx包资料,使用python脚本完成处理. 主要的坑点在于,shape ...

  9. Vue+Element UI一个下拉框传字典值和对应字典Label

    <el-select @change="getDeptName" v-model="form.deptCode"> <el-option v- ...

  10. vue-element-admin 安装运行失败

    1.clone代码后 npm install,结果报错,如下: 解决方法: 在github中的添加新的ssh (生成ssh链接:https://blog.csdn.net/qq_35495339/ar ...