JAVA_OA管理系统(三):Spring参数注入
模块总述:
/*** Java bean* 规范* 1 这个类必须有包* 2 必须继承 Serializable* 3 有无参的构造器* 4 有get set 方法* * 注意:其实现在用注解的比较多,但是xml是最基本的。*/
一.注入基本值
Java.lang.String类型转化为实际的属性或参数类型然后注入给bean
<bean id="student" class="com.throne.Student" ><property name="name" value=“FontThrone”></property></span><property name="age">
<span style="white-space:pre"> </span><value>18<value>
</property></bean>
private String name;private String age;public Student() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}
String str="applicationContext.xml";ApplicationContext ac=new ClassPathXmlApplicationContext(str);Student s=ac.getBean("student",Student.class);System.out.println(s.getAge()+"\n"+s.getName());
结果:
二.注入Bean对象
<bean id="student" class="com.lpc.entity.Student" >//交给容器管理,注册时,如果是Bean对象,要用ref引用<property name="book" ref="book"></property></bean><bean id="book" class="com.throne.Book"><property name="bookId" value="12"></property><property name="bookName" value="平凡的世界"></property></bean>
<span style="white-space:pre"> </span>private Book book;public Student() {}...public Book getBook() {return book;}public void setBook( Book book) {this.book = book;}
//之前的重复部分(创建ApplicationContext等)省略掉
System.out.println(s.getBook().getBookName());结果:
<span style="white-space:pre"> </span>平凡的世界
三.注入集合
<bean id="message" class="com.throne.entity.Message"><property name="list" ref="ppp"></property><property name="set"><set><value>张三</value><value>李四</value><value>王五</value></set></property><property name="map"><map><entry key="语文" value="80"></entry><entry key="数学" value="100"></entry><entry key="英语" value="60"></entry></map></property><!-- 1 采用引入的方式注入集合a 先声明集合bean,然后采用引用的方式将这些bean注入给Message使用<util>标签声明集合bean,然后在MessageBean下使用<property>标签引用这些集合bean。2 为什么要使用引入的方式引入的方式就是为了我们方便复用代码 !important 如果别的bean里面也要复用 那么就用它 --><util:list id="ppp"><value>兰州</value><value>北京</value><value>长沙</value></util:list>
private List<String> list;private Set<String> set;private Map<String,Object> map;private Properties properties;
// 注意导入的是until的包,而非sun的:import java.util.Properties;public Message() {}public List<String> getList() {return list;}public void setList(List<String> list) {this.list = list;}public Set<String> getSet() {return set;}public void setSet(Set<String> set) {this.set = set;}public Map<String, Object> getMap() {return map;}public void setMap(Map<String, Object> map) {this.map = map;}public Properties getProperties() {return properties;}public void setProperties(Properties properties) {this.properties = properties;}
Message m=ac.getBean("message",Message.class);List<String> list=m.getList();for(String ss:list){System.out.println(ss);}Set set=m.getSet();Iterator<String> it=set.iterator();while(it.hasNext()==true){System.out.println(it.next());System.out.println("11111");}
结果:
北京
长沙
张三
11111
李四
11111
王五
11111
四.表达式注入
A a=ac.getBean("ddd",A.class);System.out.println(a.getUser());/** 注入表达式Spring引入了一种表达式语言,在语法上与EL的语法很相似,用来读取一个bean中的属性。xml配置:<util:properties id="jdbc1" location="classpath:db.properties"></util:properties>--><bean id="ddd" class="com.tanzhou.entity.A"><property name="user" value="#{jdbc1.user}"></property></bean>类:public class A implements Serializable {private String user;public A() {}public String getUser() {return user;}public void setUser(String user) {this.user = user;}执行:A a=ac.getBean("ddd",A.class); System.out.println(a.getUser());* */
此时读取的是与配置的xml文件同一目录下的db.properties文件,它只有一句话的内容:user=scott
五.注入null或者空字符串
给一个属性注入字符串
<property name=“name” value=“”></property>
注入空值
<property name=“name”><null/><property>
JAVA_OA管理系统(三):Spring参数注入相关推荐
- JAVA_OA管理系统(三)番外篇:Myeclipse导入Spring源码包
世界上只有10种程序员,看源码的和不看源码的: 今天,我们要看源码: 首先先用Ctrl键随便找个spring或者中的类,(其实myeclipse和eclipse导入源码包都是一样的) 第二步: 然后是 ...
- JAVA_OA管理系统(四)番外篇:使用Spring注解注入属性
本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifier,@Pos ...
- Spring官网阅读(三)自动注入
上篇文章我们已经学习了1.4小结中关于依赖注入跟方法注入的内容.这篇文章我们继续学习这结中的其他内容,顺便解决下我们上篇文章留下来的一个问题-----注入模型. 前言: 在看下面的内容之前,我们先要对 ...
- Spring 依赖注入的理解及三种注入方式
Spring 依赖注入概念和三种注入方式(理解及应用) 什么是注入 要了解Spring的三种注入方式首先前提是得先了解一下什么是注入,相信很多人对这个概念都是模糊不清的,网上的解释是这样的: 依赖注入 ...
- spring依赖注入三种方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring容器中 ...
- spring依赖注入的三种方式以及优缺点
spring依赖注入的三种方式以及优缺点 一.依赖注入的三种方式 1.通过构造器注入.(spring4.3之后,推荐使用) 2.通过setter注入.(spring4.3之前,推荐使用) 3通过fil ...
- spring 依赖注入的三种方式
@Autowired:构造器,参数,方法,属性:都是从容器中获取参数组件的值: set方法注入: 构造器注入: 作为Bean方法的参数注入: 例子:Boss 注入Car类 第一种.set方式注入 // ...
- Spring 依赖注入三种方式的实现,及循环依赖问题的解决(源码+XML配置)
搬砖啦,搬砖啦,这几天在看Spring相关的书,下面给大家分享一下这几天的心得与收获,Go Go Go! Spring支持两种依赖注入方式,分别是属性注入,构造函数注入.除此之外,Spring还支持工 ...
- spring常用的三种依赖注入方式
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...
最新文章
- jquery 重写 html5 验证,Jquery前端滑动验证方式功能实现
- JDBC基础知识复习
- 【译】Engineering Security Through Coordination Problems
- hibernate数据类型_Hibernate类型初学者指南
- Html 进行DOM 操作(放缩,颜色...),HTML抓图(放缩,滚动,拼接)
- HTML、CSS --chrome书签整理
- [小技巧]为Atlas AutoComplete加上滚动条
- matlab数学建模题及答案,数学建模中30道经典 MATLAB程序.doc
- win10添加惠普hp laserjet 1010HB打印机
- 【科创人独家】云风:从创业到招安,自由的游戏玩家+务实的程序员
- 6-3 jmu-python-函数-找钱 (10分)
- 关键字CORRESPONDING的用法
- 全屏背景图移动端滚动时白底问题
- python 环境配置
- 查看检测排名各网站的网站
- linux系统下html工具,Linux下五个好用的HTML编缉器
- Windows重装电脑系统教程(制作启动U盘+重装系统)建议收藏
- BLE蓝牙的广播类型
- 液晶显示屏行业信息汇总
- IE安全系列之——昨日黄花:IE中的ActiveX(I)