本文共 3387 字,大约阅读时间需要 11 分钟。
本文主要学习依赖注入之set注入的方式,如何注入Bean容器。在环境搭建好的前提下进行创建pojo类。
DI—Dependency Injection,即“依赖注入”:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。
理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”,那我们来深入分析一下:
●谁依赖于谁:当然是应用程序依赖于IoC容器;
●为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源;
●谁注入谁:很明显是IoC容器注入应用程序某个对象,应用程序依赖的对象;
●注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)。
1.地址类:
public class Address {// 引用类型private String address;public String getAddress() { return address;}public void setAddress(String address) { this.address = address;}@Overridepublic String toString() { return "Address{" + "address='" + address + '\'' + '}';}}
2.学生类:
public class Student {private String name;private Address address; // 唯一引用对象private String[]Books;private Listhobbs;private Map card;private Set games;private String wife;private Properties info;public String getName() { return name;}public void setName(String name) { this.name = name;}public Address getAddress() { return address;}public void setAddress(Address address) { this.address = address;}public String[] getBooks() { return Books;}public void setBooks(String[] books) { Books = books;}public List getHobbs() { return hobbs;}public void setHobbs(List hobbs) { this.hobbs = hobbs;}public Map getCard() { return card;}public void setCard(Map card) { this.card = card;}public Set getGames() { return games;}public void setGames(Set games) { this.games = games;}public String getWife() { return wife;}public void setWife(String wife) { this.wife = wife;}public Properties getInfo() { return info;}public void setInfo(Properties info) { this.info = info;}@Overridepublic String toString() { return "Student{" + "name='" + name + '\'' + ", address=" + address + ", Books=" + Arrays.toString(Books) + ", hobbs=" + hobbs + ", card=" + card + ", games=" + games + ", wife='" + wife + '\'' + ", info=" + info + '}';}}
3.resources 目录下创建Applicationcountext.xml 目录,
创建使用NEW —>File 的方式
4.本章节的关键点:
四大名著 红楼梦 西游记 水浒传 三国演义
打篮球 看电影 敲代码 狂街 CF LOL COC BOB 20210410 贺伟 男
public class MyTest {
public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(“Applicationcontext.xml”); Student student = (Student) context.getBean(“Student”); System.out.println(student.toString()); } }
1、前两种方式是我们经常使用的注入方式,剩下的List、Map、set、Properties、null为拓展注入的方式
2、拓展的5个为JavaEE集合章节中的知识 不过是换成标签元素进行注入的。转载地址:http://denv.baihongyu.com/