- 浏览: 498807 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
Spring Bean注入方式
一、构造器注入
1.构造器注入顾名思义就是在程序组件中实现构造器,构造器可以是一个也可以是多个。
constructor-arg:表示构造器方式注入
index:构造器参数位置
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
二、设值注入(setter方式注入)
1.设值注入就是通过setXxxx方法将bean注入到组件中.
property:表示setter方式注入
name:参数名字
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
map:Map的值
三、静态工厂的方法注入(比较少用到)
四、实例工厂的方法注入(比较少用到)
参考原文:http://www.cnblogs.com/java-class/p/4727775.html
一、构造器注入
1.构造器注入顾名思义就是在程序组件中实现构造器,构造器可以是一个也可以是多个。
public class PersonServiceBean implements PersonServiceIF{ //自定义类 private PersonDaoIF personDaoBean; //String类型 private String name; //集合类型 private List list; //构造器(构造器注入一定要有这个构造器) public PersonServiceBean(PersonDaoBean personDaoBean,String name,List list){ this.personDaoBean = personDaoBean; this.name = name; this.list = list; } }
<bean id="personDao" class="cn.glzaction.service.impl.PersonDaoBean"></bean > <!--构造器方式注入--> <bean id="personService" class="cn.glzaction.service.impl.PersonServiceBean"> <constructor-arg index="0" type="cn.glzaction.service.impl.PersonDaoBean" ref="personDao"/> <constructor-arg index="1" type="java.lang.String" value="glzaction"/> <constructor-arg index="2" type="java.util.List"> //List的注入写法 <list> <value>list1</value> <value>list2</value> <value>list3</value> </list> </constructor-arg> </bean>
constructor-arg:表示构造器方式注入
index:构造器参数位置
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
二、设值注入(setter方式注入)
1.设值注入就是通过setXxxx方法将bean注入到组件中.
package cn.glzaction.service.impl; import cn.glzaction.service.interfaces.PersonDaoIF; import java.util.*; public class PersonDaoBean implements PersonDaoIF { private String name; private Integer id; private List list; private Map map; public void setName(String name) { //一定要相关参数的set方法 this.name = name; } public void setId(Integer id) { this.id = id; } public void setList(List list) { this.list = list; } public void setMap(Map map) { this.map = map; } }
<bean id="personDao" class="cn.glzaction.service.impl.PersonDaoBean"> <property name="name" type="java.lang.String" value="glzaction"/> <property name="id" type="java.lang.Integer" value="1"/> <property name="list" type="java.util.List"> <list> //List的注入写法 <value>list1</value> <value>list2</value> <value>list3</value> </list> </property> <property name="map" type="java.util.Map"> <map> //Map的注入写法 <entry key="key1" value="value1"></entry> <entry key="key2" value="value2"></entry> </map> </property> </bean>
property:表示setter方式注入
name:参数名字
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
map:Map的值
三、静态工厂的方法注入(比较少用到)
四、实例工厂的方法注入(比较少用到)
参考原文:http://www.cnblogs.com/java-class/p/4727775.html
发表评论
-
log4j2应用
2020-07-23 14:16 367https://blog.csdn.net/giventian ... -
文件上传下载
2020-07-06 13:16 4241.文件ID,名字(源,目标),大小,路径(/aa/bb/s. ... -
spring MVC 下载文件
2019-07-18 16:36 490@RequestMapping (value="/d ... -
Spring MVC Controller 接收ajax的数组参数说明
2018-05-12 10:09 927https://blog.csdn.net/u01252787 ... -
Spring MVC web.xml文件分析说明
2016-11-07 18:42 543Spring MVC web.xml文件分析说明 < ... -
Spring MVC工作流程
2016-11-07 17:04 454Spring MVC工作流程 1.用户向服务器发送请求,请 ... -
Spring AOP(面向方面编程)
2016-09-30 09:22 599Spring AOP(面向方面编程) 动态代理实现思路: 1 ... -
Spring 监听器
2016-09-29 09:55 707Spring 监听器 1.监听器是一个专门用于对其他对象身 ... -
Springmvc中在controller注入request会有线程安全问题吗
2016-09-29 00:24 2254Springmvc中在controller注入 ... -
Servlet的多线程和线程安全
2016-09-29 00:13 1339Servlet的多线程和线程安全 Servlet的生命周期 ... -
Spring filter的用法
2016-09-28 18:58 2185Spring filter的用法 1.Filter技术是se ... -
spring properties文件相关
2016-09-27 19:53 466spring properties文件相关 1.prope ... -
Spring注解之@autowired和@resource的区别
2016-09-19 14:54 952Spring注解之@autowired和@resource的区 ... -
Spring IOC实现原理基础
2016-09-18 18:09 459Spring IOC实现原理基础 Spring IOC实现 ... -
Spring自定义注解
2016-09-18 18:01 593Spring自定义注解 @Target(ElementTy ... -
Spring注解
2016-09-18 17:27 389Spring注解 Spring注解配置 1.注解本身做不了 ... -
Spring读取properties文件的处理
2016-09-18 16:46 688Spring读取properties文件的处理 prope ... -
Spring Multipart工作原理(文件上传到服务器)
2016-08-31 19:18 10362Multipart工作原理 按照Multipart规定的格 ...
相关推荐
Spring提供两种主要的自动注入方式:`byName`和`byType`,以及更推荐的`@Autowired`注解。 - `byName`:根据Bean的属性名查找相同名称的Bean进行注入。 - `byType`:如果Bean的属性类型只有一个匹配的Bean,那么...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
Spring支持通过属性值、构造器参数、setter方法等多种方式进行注入。 6. **运行环境与构建工具**: 题目描述中提到的运行环境是Eclipse,这是一个流行的Java集成开发环境,提供了便捷的代码编辑、调试等功能。而...
在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的介绍和分析。 1. @Autowired @...
在`doCreateBean()`方法中,Spring会创建Bean的实例,`createBeanInstance(beanName, mbd, args)`执行Bean实例的创建,而`populateBean(beanName, mbd, instanceWrapper)`则负责填充Bean的属性,将依赖注入到Bean中...
**Spring 依赖注入 (DI) 与 Bean** Spring 框架的核心特性之一就是依赖注入(Dependency Injection,简称 DI),这是一种设计模式,它允许我们控制组件之间的耦合,而不是让组件自行创建它们所依赖的对象。这有助于...
Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...
1. **类型匹配**:Spring首先尝试按类型匹配bean,找到最适合的bean注入到目标字段或构造函数。 2. **按名称匹配**:如果存在多个相同类型的bean,Spring会检查目标字段或构造函数是否有`@Qualifier`注解,如果有,...
首先,我们来了解Spring中的bean注入主要有以下四种方式: 1. **设值注入(Setter Injection)**:这是最常见的一种注入方式,通过setter方法来设置bean的属性。在XML配置文件中,我们可以通过`<property>`标签来...
下面我们将详细探讨Spring 中的三种注入方式:接口依赖注入(Type1)、setter/getter 注入(Type2,也称为属性注入)和构造方法注入(Type3)。 1. **接口依赖注入(Type1)** 这种注入方式相对不常见,主要适用于...
综上所述,Spring Bean重复执行两次的问题通常是由于配置错误、依赖注入循环、初始化回调的不当使用、静态工厂方法的误用、AOP代理的配置问题或是Bean作用域设置不准确导致的。通过仔细检查和修正这些问题,可以避免...
本篇主要介绍Spring中的三种注入方式,包括构造器注入、设值注入和接口注入。 **一、构造器注入** 构造器注入是通过构造函数来传递依赖对象的一种方式。当类有多个构造函数时,Spring会使用带有最多参数的构造函数...
在实际开发中,可以根据项目需求选择适合的注入方式,如使用`<list>`、`<set>`或`<map>`标签来处理不同类型的数据结构。当然,随着Spring的发展,基于注解的配置和Java配置也变得越来越流行,但XML配置仍然是理解和...
2. **属性注入**:实例化后,Spring会根据Bean定义中的`property`或`ref`属性为Bean注入依赖。这包括了通过setter方法设置值,以及通过构造函数传递参数。 3. **初始化**:在属性注入完成后,Spring会执行Bean实现...
实例化Spring Bean的工厂方法是实现定制化对象创建的一种方式,提供了比直接声明Bean更高的灵活性。开发者可以根据需求选择实例工厂方法或静态工厂方法,以满足特定的应用场景。在实际项目中,应根据实际情况权衡...
在`spring_test`项目中,你可能会发现各种注入方式的示例代码,包括如何在Spring配置文件中定义bean,以及如何在Java类中使用这些注入方式来管理依赖。通过实践和理解这些例子,你可以更好地掌握Spring的依赖注入...
Spring 中控制 2 个 bean 的初始化顺序 在 Spring 框架中,控制多个 bean 的初始化顺序是一个常见的问题。本篇文章将详细介绍如何控制 2 个 bean 的初始化顺序,提供了多种实现方式,并分析了每种方式的优缺。 ...
Spring支持通过XML配置文件使用构造函数注入和setter方法注入两种属性注入方式。 - 构造函数注入:在元素中声明的属性,通过构造函数传递给Bean实例。 - setter方法注入:通过元素设置的属性,Spring调用相应的...
Spring会分析Bean之间的依赖关系,通过@Autowired、@Qualifier等方式找到合适的依赖注入。在这个阶段,Spring会尝试解决依赖图,确保所有依赖都能被正确解决。 5. **Bean实例化**: 对于Singleton作用域的Bean,...