1、添加依赖
包括如下4个核心依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
2、核心配置文件
用来进行bean的配置,文件名字自定义,一般默认applicationContext.xml
3、代码结构
4、类实现及applicationContext.xml配置
bean类
package ioc01;
public class HelloSpring {
private String name;
//本质上是通过setter方法进行注入
//该注入是在代码运行的时候注入的
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void show(){
System.out.println("Hello "+name);
}
}
主方法
package ioc01;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class test {
public static void main(String []args){
//1、获取ioc容器,读取配置文件,初始化spring的上下文
//ClassPathXmlApplicationContext:读取类路径下的xml文件
ApplicationContext ac = new ClassPathXmlApplicationContext("ioc01/applicationContext.xml");
//2、根据id获取容器中的方法
//getBean的参数是配置文件中的id
HelloSpring helloSpring = (HelloSpring) ac.getBean("helloSpring");
helloSpring.show();
}
}
applicationContext.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 http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
定义一个bean,id是这个biean的名字,名字可以自己定义
实际使用bean是通过id来获取的
class:把ioc01.HelloSpring类交给IOC来管理,将来使用的时候,Spring给创建该类的对象
-->
<bean id="helloSpring" class="ioc01.HelloSpring">
<!--为bean中的属性赋值(也称为注入值)
“name”与setName相匹配,如果是setUserName,这里就要改为"username",否则property的name找不到要找的字段
spring在注入值的时候也是根据set方法来的,所以set方法一定要有,否则会报错
-->
<property name="name" value="tom"/>
<!-- property的另一种用法 -->
<!-- <property name="name">
<value>alice</value>
</property>-->
</bean>
</beans>