1.1 导入jar包
4 + 1 : 4个核心(beans、core、context、expression) + 1个依赖(commons-loggins...jar)
SpringDay01\spring-framework-3.0.2.RELEASE-dependencies\org.apache.commons\com.springsource.org.apache.commons.logging\1.1.1
1.2目标类
提供UserService接口和实现类,获得UserService实现类的实例,之前开发中,直接new一个对象即可。,学习spring之后,将由Spring创建对象实例--> IoC 控制反转(Inverse of Control),之后需要实例对象时,从spring工厂(容器)中获得,需要将实现类的全限定名称配置到xml文件中
public interface IUserService {
public void addUser();
}
public class UserServiceImpl implements IUserService {
@Override
public void addUser() {
System.out.println("add user");
}
}
1.3 配置文件
位置:任意,开发中一般在classpath下(src)
名称:任意如:beans.xml,开发中常用applicationContext.xml
内容:添加约束
约束文件位置: spring-framework-4.3.15.RELEASE\docs\spring-framework-reference\html\ xsd-configuration.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 配置service
<bean> 配置需要创建的对象
id :用于之后从spring容器获得实例时使用的
class :需要创建实例的全限定类名
-->
<bean id="userServiceId" class="com.hwua.ioc.UserServiceImpl"></bean>
</beans>
1.4 测试
@Test
public void test01(){
//从spring容器获得
//1 获得容器
String xmlPath = "com/hwua/ioc/beans.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
//2获得内容 --不需要自己new,都是从spring容器获得
IUserService userService = (IUserService) applicationContext.getBean("userServiceId");
userService.addUser();
}