Spring依赖注入有哪些方式?
有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依赖注入有哪些方式?相关推荐
- Spring依赖注入(注解方式)
Spring依赖注入(注解方式) 在Spring中,尽管使用XML配置文件就可以实现Bean的装配工作,但如果应用中Bean的数量较多,会导致XML配置文件过于臃肿,从而给程序的维护与升级带来一定的困 ...
- spring依赖注入三种方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring容器中 ...
- Spring 依赖注入三种方式的实现,及循环依赖问题的解决(源码+XML配置)
搬砖啦,搬砖啦,这几天在看Spring相关的书,下面给大家分享一下这几天的心得与收获,Go Go Go! Spring支持两种依赖注入方式,分别是属性注入,构造函数注入.除此之外,Spring还支持工 ...
- 依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式
构造器注入 /*带参数,方便利用构造器进行注入*/ public CatDaoImpl(String message){ this. message = message; } setter 方法注入 ...
- spring的依赖注入 -------基于注解方式
前言: 做了2年的软件,刚开始入行的时候,没有个目标基本上都是在摸索,技术看的我眼花缭乱,这个想学,那个也想学结果是对很多技术一知半解的,工作中才发现,我们要掌握的一门可以搞定快速开发搞定所有业务需求 ...
- Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件...
1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...
- Spring 依赖注入的理解及三种注入方式
Spring 依赖注入概念和三种注入方式(理解及应用) 什么是注入 要了解Spring的三种注入方式首先前提是得先了解一下什么是注入,相信很多人对这个概念都是模糊不清的,网上的解释是这样的: 依赖注入 ...
- spring依赖注入的4种方式
Spring 依赖注入的4种方式 一.Set注入 必须要有setter方法 public class UserDao {public void test(){System.out.println(&q ...
- spring依赖注入简介以及依赖注入的两种方式
1.spring依赖注入简介 依赖注入:Set注入1.依赖:bean对象创建依赖于容器!2.注入:bean对象中的所有属性,由容器来注入! 2.依赖注入的两种方式 实体类: package com ...
最新文章
- 985 博士:导师是院士,直到毕业,我们都没单独说过一句话...
- 雨敲窗python_雨敲窗Python:类
- html中alert的用法_【渗透实战】通过HTML命名空间混淆绕过DOMPurify实现XSS
- 【软考-软件设计师】计算机系统基础知识
- livecharts中仪表盘_LiveCharts文档-3开始-4可用的图表
- 分享10个2012年最新发布的jQuery插件
- Javaslang 3.0之路
- ssm框架重定向_精选 SSM 框架面试题整理
- 博客园 使用锚和书签制作目录
- window下搭建react-native开发环境
- 虚幻学习4---制作实时逼真的毛发【笔记】
- NAR:蛋白功能层级注释数据库eggNOG5
- Sportisimo EDI项目需求及包装标准
- 股票中阿尔法和贝塔都什么意思?
- UDP进程terminated
- 一行代码解决网站防挂IFRAME木马方案,小鸽子序列(灵儿)
- IE浏览器输入框反应慢的解决方式
- [Unity安卓封装][C#版]Unity使用TextToSpeech
- 压缩感知——突破香农采样定理
- chfs文件共享工具
热门文章
- linux镜像文件目录,Linux - 系统 - 文件目录
- Oracle中null值的比较
- 通过宏代码自动解除excel工作表格保护
- signature=cdae83b1c2034e2244a378f624349dfb,恶意软件分析 URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析...
- 单细胞算法-聚类-louvain算法
- jmeter辅助功能详解(http请求默认值,断言)
- git branch 相关命令
- 计算机基础多媒体硬件,计算机基础:多媒体基础知识笔记
- ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全
- 【Hive】Hive 查询