Spring IoC注入三种方式
三种注入方式:
- setter & getter 注入
- 构造函数注入
- p命名空间注入
有两个实体类
student:
public class Student {String name;int number;int age;public Student() {}public Student(String name, int number, int age) {super();this.name = name;this.number = number;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", number=" + number + ", age=" + age + "]";}}
teacher:
public class Teacher {String name;Student student;public String getName() {return name;}public void setName(String name) {this.name = name;}public Student getStudent() {return student;}public void setStudent(Student student) {this.student = student;}@Overridepublic String toString() {return "Teacher [name=" + name + ", student=" + student + "]";}
}
setter & getter 注入
这个要求在实体类中有setXxxx()
比如
public void setName(String name) {this.name = name;
}
在xml中的形式:
<bean id="student" class= "org.ljn.entity.Student"><property name="name" value="ljn" /><property name="age" value="20" /><property name="number" value="28" /> </bean>
构造方法注入
- 直接写的方式,必须按照顺序
<bean id="student1" class= "org.ljn.entity.Student"><!-- name,number,age --><constructor-arg value = "jack"></constructor-arg><constructor-arg value = "123"></constructor-arg><constructor-arg value = "35"></constructor-arg> </bean>
- 不按照顺序,加上index(从0开始)
<bean id="student2" class= "org.ljn.entity.Student"><constructor-arg index="1" value = "35"></constructor-arg><constructor-arg index="2" value = "123"></constructor-arg><constructor-arg index="0" value = "jack"></constructor-arg> </bean>
p命名空间
首先要在namespace里面加上p的那个
这么写
Spring IoC注入三种方式相关推荐
- spring依赖注入三种方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring容器中 ...
- Spring 依赖注入三种方式的实现,及循环依赖问题的解决(源码+XML配置)
搬砖啦,搬砖啦,这几天在看Spring相关的书,下面给大家分享一下这几天的心得与收获,Go Go Go! Spring支持两种依赖注入方式,分别是属性注入,构造函数注入.除此之外,Spring还支持工 ...
- IoC、Spring 环境搭建、Spring 创建对象的三种方式、DI
二.IoC 中文名称:控制反转 英文名称:(Inversion of Control) 3.I oC 是什么? 3.1 IoC 完成的事情原先由程序员主动通过 new 实例化对象事情,转交给 Spri ...
- Spring 学习之 二----Spring创建对象的三种方式
最近在系统的学习Spring,现在就Spring的一些知识进行总结. 我们知道Spring是一个开放源代码的设计层面的框架,他主要解决的是业务逻辑层与其他各层之间松耦合的问题. Spring 有三个核 ...
- Spring集成Memcached三种方式(一)
Spring集成Memcached三种方式(一) 转载:http://blog.csdn.net/u013725455/article/details/52102170 Memcached Clien ...
- Spring 容器:三种方式解决 Resource leak: ‘applicationContext‘ is never closed 问题
文章目录 前言 一.Spring 容器警告的产生 1.1.项目场景 二.Spring 容器未关闭后果分析 2.1.肉眼可见的警告 2.2.导致的内存泄漏 2.2.1.什么是内存泄漏? 2.2.2.如何 ...
- spring配置datasource三种方式
转自:http://blog.csdn.net/yangyz_love/article/details/8199207 1.使用org.springframework.jdbc.datasource. ...
- spring配置datasource三种方式 数据库连接
1.使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明:DriverManagerDataSource建立连接是只要有连 ...
- Spring创建对象的三种方式以及创建时间
创建对象的三种方式: 1.采用默认的构造函数创建 2.采用静态工厂方法 1.写一个静态工厂方法类 public class HelloWorldFactory { public static Hell ...
最新文章
- 软件工程学习笔记《一》什么是软件工程
- 优秀的开源项目C_适合提高C/C++、网络编程能力的开源项目!不要错过,赶紧收藏...
- java是值传递还是引用传递_Java 到底是值传递还是引用传递?
- 解决ubuntu18.04中python兼容以及pip兼容问题
- python pipenv_为什么Python开发人员应该使用Pipenv
- 动态污点分析——隐式流造成的漏报和误报
- c语言栈的实现以及操作_python模拟栈的操作实现非递归方式的快速排序算法
- scala 基础类库 —— 文件操作
- 【北京集训D2T3】tvt
- php web应用 开发工具,phpEclipse开发工具(二 web应用)
- android自定义对号,Android-手势识别(普通手势识别:上 下 左 右 ;自定义手势识别:对号,错号 等)...
- 扩展欧几里得算法 思想及模板代码
- 怎样清理xp系统垃圾
- 这才是心理学:02可证伪性,如何打败头脑中的小精灵
- ros2中vcs import src < ros2.repos 命令
- 普通文本el-tootip超出宽度自动显示省略号,悬停显示
- 如何让你的代码变得更优雅?这些代码规范和技巧必须知道(进阶必备,建议收藏)
- html5这么盒子页面居中,实现盒子居中
- 2021.09青少年软件编程(Python)等级考试试卷(三级)
- 无锡设计培训——室设行业现状与发展前景
热门文章
- k8s调试工具--busybox
- C#如何获取本机网络ip地址
- 【自适应引导滤波和梯度信息:PAN+MS:传统方法HIS】
- php相同数据合并单元格,jQuery_基于jQuery的合并表格中相同文本的相邻单元格的代码,ONE
已经生成的数据表格大致 - phpStudy...
- C语言指针,数组,函数
- linux模糊查找目录文件,详解Linux查找目录下的按时间过滤的文件
- spring jsm(一)
- 利用xposed自动获得支付宝个人收款二维码链接和收款记录
- 单点登录(SSO)、CAS介绍
- Java学习之路-----Java基础简介,基础语法,Java标识符,修饰符,关键字与注释