Spring (二)

阅读: 评论:0

Spring (二)

Spring (二)

依赖注入DI

1,当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在 传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者 实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入
2,所谓依赖注入,是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入。Spring的依赖注入对调用者和被调用者几乎没有任何要求,完全支持对POJO之间依赖关系的管理

例题

1,建实体类Address和Student

Student

public class Student {private String name;private Address address;private String[] books;private List<String> hobbys;private Map<String,String> card;private Set<String> games;private String girlFriend;private Properties info;public Student() {}public void setName(String name) {this.name = name;}public void setAddress(Address address) {this.address = address;}public void setBooks(String[] books) {this.books = books;}public void setHobbys(List<String> hobbys) {this.hobbys = hobbys;}public void setCard(Map<String, String> card) {this.card = card;}public void setGames(Set<String> games) {this.games = games;}public void setGirlFriend(String girlFriend) {this.girlFriend = girlFriend;}public void setInfo(Properties info) {this.info = info;}@Overridepublic String toString() {return "Student{" +"name='" + name + ''' +", address=" + String() +", books=" + String(books) +", hobbys=" + hobbys +", card=" + card +", games=" + games +", girlFriend='" + girlFriend + ''' +", info=" + info +'}';}
}

Address

public class Address {private String address;public Address() {}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "Address{" +"address='" + address + ''' +'}';}
}

2,建配置文件 l

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=""xmlns:xsi=""xsi:schemaLocation="://www.springframework/schema/beans/spring-beans.xsd"><!--Address--><bean id="addr" class="pojo.Address"><property name="address" value="西安"/></bean><!--Student--><bean id="Student" class="pojo.Student"><!--常量注入 普通字段--><property name="name" value="闪电侠"/><!--Bean注入 引用其他bean使用ref--><property name="address" ref="addr"/><!--数组注入--><property name="books"><array><value>西游记</value><value>水浒传</value><value>红楼梦</value><value>三国演义</value></array></property><!--List注入--><property name="hobbys"><list><value>代码</value><value>电影</value><value>音乐</value></list></property><!--Map注入--><property name="card"><map><entry key="IdCard" value="666666888888884444"/><entry key="银行卡" value="111122223333444"/></map></property><!--Set注入--><property name="games"><set><value>王者荣耀</value><value>绝地求生</value></set></property><!--Null空值注入--><property name="girlFriend"><null/></property><!--Properties注入--><property name="info"><props><prop key="学号">2019032324</prop><prop key="性别">男</prop><prop key="姓名">闪电侠</prop></props></property></bean></beans>

3,编写测试类

import org.junit.Test;
import t.support.ClassPathXmlApplicationContext;public class StudentTest {@Testpublic void Test(){ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(&#l");Student student = (Student) Bean("Student");System.out.String());}
}

4,运行结果


本文发布于:2024-01-30 01:17:19,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170654864318201.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Spring
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23