您的位置:首页 > 编程语言 > Java开发

Spring IoC、DI入门小程序

2015-08-31 17:17 711 查看
Alt+/智能提示xml配置文件节点及属性;在接口上使用Ctrl+T可以提示其实现类

一、IoC控制反转(将创建对象的权利交给spring)入门小程序

1、引入jar包



2、工程基本结构



3、新建UserService类

package hjp.spring.demo1;

import org.junit.Test;

public class UserService {
public void addUser() {
System.out.println("addUser");
}
}


4、新建beans.xml文件配置bean

<?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="userServiceId" class="hjp.spring.demo1.UserService"></bean>
</beans>


5、新建测试类TestApp

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestApp {
@Test
public void demo1() {
// 1、加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("hjp/spring/demo1/beans.xml");
// 2、从Spring工厂获得对象
UserService userService = (UserService) applicationContext.getBean("userServiceId");
userService.addUser();
}
}


二、DI依赖注入(自动实例化类中属性对象)入门小程序

1、沿用上面工程

2、新增包,结构如下



3、新建BookDao类

package hjp.spring.demo2;

public class BookDao {
public void save() {
System.out.println("save book");
}
}


4、新建BookService类

package hjp.spring.demo2;

public class BookService {
private BookDao bookDao;

public BookDao getBookDao() {
return bookDao;
}

public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}

public void addBook() {
bookDao.save();
}
}


5、新建beans.xml文件配置bean

<?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"> <!-- 创建dao -->
<bean id="bookDaoId" class="hjp.spring.demo2.BookDao">
</bean>
<!-- 创建service -->
<bean id="bookServiceId" class="hjp.spring.demo2.BookService">
<!-- <property>进行依赖注入过程,底层将执行setter方法
name 指BookService类bookDao属性
ref 指属性实例引用
-->
<property name="bookDao" ref="bookDaoId"></property>
</bean>
</beans>


6、新建测试类TestAPP

package hjp.spring.demo2;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestApp {
@Test
public void demo1() {
//获得容器
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("hjp/spring/demo2/beans.xml");
//获得对象
BookService bookService = applicationContext.getBean("bookServiceId", BookService.class);
bookService.addBook();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: