03、Hello Spring !
-
导包
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version> </dependency>
-
Hello.class
public class Hello { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Hello{" + "name='" + name + '\'' + '}'; } }
-
beans.xml
<?xml version="1.0" encoding="UTF-8"?> <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 https://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 使用Spring创建对象,在Spring中这些都称为bean,格式: 类型 变量名 = new 类型(); Hello hello = new Hello(); id = 变量名 class = new 的对象 property 相当于给对象中的属性设定一个值! --> <bean id="hello" class="com.haining820.pojo.Hello"> <property name="name" value="Spring"/> </bean> </beans>
-
MyTest.class
public class MyTest { public static void main(String[] args) { //获取Spring的上下文对象! ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); //我们的对象现在都在Spring中进行管理,要使用,直接去里面取出来就可以了 Hello hello = (Hello) context.getBean("hello"); System.out.println(hello.toString()); } }
几个问题
-
Hello 对象是谁创建的?
Hello 对象是由 Spring 创建的。 -
Hello 对象的属性是怎么设置的?
Hello 对象的属性是由 Spring 容器设置的 -
控制反转
- 控制:谁来控制对象的创建,传统应用程序的对象是由程序本身控制创建的,使用Spring后,对象是由Spring来创建的。
- 反转:程序本身不创建对象,而变成被动的接收对象
- 依赖注入:就是利用set方法来进行注入的
-
关于IoC
- IoC是一种编程思想,由主动的编程变成被动的接收
- 可以通过
newClassPathXmlApplicationContext
去浏览一下底层源码,包含了很多层,Spring 已经帮助我们封装好了,所以用起来很方便 - 到了现在,我们彻底不用再程序中去改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的IoC,一句话搞定:对象由Spring来创建,管理,装配 !
本文章内容整理自b站up主:遇见狂神说,欢迎关注,一键三连!