Spring 框架之IoC

什么是IoC?

Inversion of Control,控制反转,英文缩写为IoC。将对象的创建权交给了Spring。

使用IoC可以解决程序耦合性高的问题。

转载请注明出处:http://shenshanlaoyuan.com/2017/03/04/Java/spring-IoC/

访问原文「Spring 框架之IoC」获取最佳阅读体验并参与讨论

简单IoC示例

步骤一:下载Spring的开发包

官网或者下载地址下载

解压后目录结构:

  • docs :API和开发规范.
  • libs :jar包和源码.
  • schema :约束.

步骤二:创建web项目,引入Spring的开发包

步骤三:创建Spring配置文件

在src目录下创建applicationContext.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 使用bean标签 -->
<bean id="userService" class="com.shenshanlaoyuan.demo.UserServiceImpl">
</bean>
</beans>

步骤四:编写相关的类

1
2
3
public interface UserService {
public void sayHello();
}
1
2
3
4
5
6
7
8
public class UserServiceImpl implements UserService {
@Override
public void sayHello() {
System.out.println("hello spring");
}
}

步骤五:配置Bean

applicationContext.xml文件beans标签下添加bean

1
2
<bean id="userService" class="com.shenshanlaoyuan.demo.UserServiceImpl">
</bean>

步骤六:编写测试类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* 测试类
* @author shenshanlaoyuan
*
*/
public class TestService {
//原来的方式
@Test
public void testSayHello1(){
UserServiceImpl usi = new UserServiceImpl();
usi.sayHello();
}
//spring方式
@Test
public void testSayHello2(){
//创建工厂,加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//从工厂中获取到对象
UserService us = (UserService) ac.getBean("userService");
//调用对象的方法
us.sayHello();
}
}

示例源代码

深山老猿 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
如对你有帮助,请我喝杯咖啡吧!0.0
显示 Gitment 评论