IOC入门
V哥官网:http://www.vgxit.com
本文对应视频教程:http://www.vgxit.com/course/23
1,导入Jar包:
Spring是Spring社区为我们提供的第三方的开源框架。我们首先来介绍一下Spring的三大核心组件:
- Spring core: Spring核心中的核心,为context在管理Spring中bean(就是我们的对象)与bean之间关系时为其服务的。其实直白一点就是为Spring管理bean提交工具的一个工具类。
- Spring beans: 主要负责Bean的创建,Bean的定义,Bean的解析。该组件依赖于Spring core
- Spring context:在Spring中的context包下,为Spring提供运行环境,用以保存各个对象状态。该组件依赖于spring beans。
通过上面我们可以看出,我们开发的时候只要引入了spring-context就好了。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.5</version>
</dependency>
2,什么是注入
在spring中这个注入,老师自己总结了一下用大白话来理解,就是其实就是创建对象,并且提交给Spring容器,让Spring容器管理器来。
3,依赖注入快速入门案例
1,定义一个类:
package com.vgxit.spring.ktdm.vgioc.beans;
public class Person {
public void sayHello(String name) {
System.out.println("Hello " + name);
}
}
2,创建Spring的配置文件,名字可以随便去,我们定义为spring-ioc-cfg.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!--存放bean的容器-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
bean标签用来定义一个需要Spring创建并且注入到IOC容器的对象
id表示这个对象的名字
class表示类型
-->
<bean id="person" class="com.vgxit.spring.ktdm.vgioc.beans.Person"></bean>
</beans>
3,通过Spring容器来获取对应的对象,然后执行方法。
package com.vgxit.spring.ktdm.vgioc.test;
import com.vgxit.spring.ktdm.vgioc.beans.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Ioc001Test {
public static void main(String[] args) {
//1,首先通过配置文件获取到Spring的上下文
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-ioc-cfg.xml");
//2,获取对应的对象,通知Spring的Ioc容器,我需要一个名字叫做Person的bean
Person person = (Person) ctx.getBean("person");
//调用方法
person.sayHello("李一桐");
}
}