新建一个maven项目,编写实体类
package com.ysl.pojo;
public class Hello {
private String str;
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
@Override
public String toString() {
return "Hello{" +
"str='" + str + ''' +
'}';
}
}
编写beans.xmlwenjain
测试
import com.ysl.pojo.Hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args){
//获取Spring的上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
Hello hello = (Hello) context.getBean("hello");
System.out.println(hello.toString());
}
}
思考问题?
Hello对象是谁创建的?
Hello对象是由Spring创建的。
Hello对象的属性是怎么设置的?
Hello对象的属性是由Spring容器设置的。
这个过程就叫控制反转:
控制:谁来控制对象的创建,传统应用程序的对象是由程序本身控制创建的,使用Spring后,对象是由Spring来创建的。
反转:程序本身不创建对象,而变成被动的接收对象。
依赖注入:就是利用set方法来进行注入的。
IOC是一种编程思想,由主动的编程变成被动的接收。
可以通过new ClassPathXmlApplicationContext去浏览一下底层源码。
OK,到了现在,我们彻底不用在程序中去改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的IOC,一句话搞定:对象由Spring来创建,管理,装配!
4、IOC创建对象的方式使用无参构造方法创建对象。默认!
假设要使用有参构造方法
下标赋值
类型
参数名
总结:在配置文件加载的时候,容器中管理的对象就已经初始化了!
5、Spring配置 5.1、别名
5.2、Bean的配置
5.3、import
这个import,一般用于团队开发使用,它可以将多个配置文件,导入合并为一个
假设,现在项目有多个人开发,这三个人复制不同的类开发,不同的类需要注册不同的bean中,我们可以利用import将所有人的beans.xml文件合并为一个总的!
张三
李四
王五
applicationContext.xml
使用的时候使用总配置就可以!



