有4中注入方式:

1.Set方法注入:注入最简单最常用的注入方式,支持注解+xml。

2.构造器注入:是指带有参数的构造函数注入,支持注解+xml

3.静态工厂的方式注入:通过调用静态工厂的方法来获取自己需要的对象,只支持xml

4.实例工厂的方式注入:获取对象实例的方法不是静态的,所以需要new一个工厂类,再调用普通的实例方法,只支持xml

有两种实现方式:
1.注解(@Autowired,@Resource,@Required)

2.配置文件(xml)

简要回答
1.set注入,构造器注入,静态工厂注入,实例工厂注入

2.可以通过注解和xml方式实现

3.java类提供Bean定义信息

辅助理解

1.set-注解方式

 public class UserService {//注解注入(autowire注解默认使用类型注入)@Autowired //【看这里】private UserDao userDao;public void login() {userDao.login();}}

2.set-xml

 <bean name="userService" class="com.obob.service.UserService"><property name="userDao" ref="userDao" /><!--这里是property--></bean><bean name="userDao" class="com.obob.dao.UserDao"></bean>

3.构造-注解方式

 public class UserService {private UserDao userDao;//注解到构造方法处@Autowired //【看这里】public UserService(UserDao userDao) {this.userDao = userDao;}public void login() {userDao.login();}}

4.构造-xml方式

 <bean name="userService" class="com.obob.service.UserService"><constructor-arg index="0" ref="userDao"></constructor-arg> <!--这里是constructor-arg--></bean><bean name="userDao" class="com.obob.dao.UserDao"></bean>

5.静态工厂-xml

 <bean name="userService" class="com.obob.service.UserService"><property name="staticUserDao" ref="staticUserDao" /><!--property属性--></bean><!--UserDao staticUserDao=Factory.initUserDao() --><bean name="staticUserDao" class="com.obob.Factory" factory-method="initUserDao"></bean>

6.实例工厂-xml

<bean name="userService" class="com.obob.service.UserService"><property name="staticUserDao" ref="staticUserDao" /></bean><!--UserDao staticUserDao=factory.initUserDao() --><bean name="staticUserDao" factory-bean="factory" factory-method="initUserDao"></bean><!--Factory factory = new Factory() --><bean name="factory" class="com.obob.Factory"></bean>

Spring依赖注入有哪些方式?相关推荐

  1. Spring依赖注入(注解方式)

    Spring依赖注入(注解方式) 在Spring中,尽管使用XML配置文件就可以实现Bean的装配工作,但如果应用中Bean的数量较多,会导致XML配置文件过于臃肿,从而给程序的维护与升级带来一定的困 ...

  2. spring依赖注入三种方式

    首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring容器中 ...

  3. Spring 依赖注入三种方式的实现,及循环依赖问题的解决(源码+XML配置)

    搬砖啦,搬砖啦,这几天在看Spring相关的书,下面给大家分享一下这几天的心得与收获,Go Go Go! Spring支持两种依赖注入方式,分别是属性注入,构造函数注入.除此之外,Spring还支持工 ...

  4. 依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式

    构造器注入 /*带参数,方便利用构造器进行注入*/ public CatDaoImpl(String message){ this. message = message; } setter 方法注入 ...

  5. spring的依赖注入 -------基于注解方式

    前言: 做了2年的软件,刚开始入行的时候,没有个目标基本上都是在摸索,技术看的我眼花缭乱,这个想学,那个也想学结果是对很多技术一知半解的,工作中才发现,我们要掌握的一门可以搞定快速开发搞定所有业务需求 ...

  6. Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件...

    1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...

  7. Spring 依赖注入的理解及三种注入方式

    Spring 依赖注入概念和三种注入方式(理解及应用) 什么是注入 要了解Spring的三种注入方式首先前提是得先了解一下什么是注入,相信很多人对这个概念都是模糊不清的,网上的解释是这样的: 依赖注入 ...

  8. spring依赖注入的4种方式

    Spring 依赖注入的4种方式 一.Set注入 必须要有setter方法 public class UserDao {public void test(){System.out.println(&q ...

  9. spring依赖注入简介以及依赖注入的两种方式

    1.spring依赖注入简介 依赖注入:Set注入1.依赖:bean对象创建依赖于容器!2.注入:bean对象中的所有属性,由容器来注入! 2.依赖注入的两种方式   实体类: package com ...

最新文章

  1. 985 博士:导师是院士,直到毕业,我们都没单独说过一句话...
  2. 雨敲窗python_雨敲窗Python:类
  3. html中alert的用法_【渗透实战】通过HTML命名空间混淆绕过DOMPurify实现XSS
  4. 【软考-软件设计师】计算机系统基础知识
  5. livecharts中仪表盘_LiveCharts文档-3开始-4可用的图表
  6. 分享10个2012年最新发布的jQuery插件
  7. Javaslang 3.0之路
  8. ssm框架重定向_精选 SSM 框架面试题整理
  9. 博客园 使用锚和书签制作目录
  10. window下搭建react-native开发环境
  11. 虚幻学习4---制作实时逼真的毛发【笔记】
  12. NAR:蛋白功能层级注释数据库eggNOG5
  13. Sportisimo EDI项目需求及包装标准
  14. 股票中阿尔法和贝塔都什么意思?
  15. UDP进程terminated
  16. 一行代码解决网站防挂IFRAME木马方案,小鸽子序列(灵儿)
  17. IE浏览器输入框反应慢的解决方式
  18. [Unity安卓封装][C#版]Unity使用TextToSpeech
  19. 压缩感知——突破香农采样定理
  20. chfs文件共享工具

热门文章

  1. linux镜像文件目录,Linux - 系统 - 文件目录
  2. Oracle中null值的比较
  3. 通过宏代码自动解除excel工作表格保护
  4. signature=cdae83b1c2034e2244a378f624349dfb,恶意软件分析 URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析...
  5. 单细胞算法-聚类-louvain算法
  6. jmeter辅助功能详解(http请求默认值,断言)
  7. git branch 相关命令
  8. 计算机基础多媒体硬件,计算机基础:多媒体基础知识笔记
  9. ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全
  10. 【Hive】Hive 查询