Spring基础学习(二)——IOC(控制反转)介绍
2018-01-24 17:24
477 查看
在进行事例之前,我们需要导入Spring的Jar包,本人是基于Maven开发的,这里也推荐使用,这样就不会把工程文件大小搞地很大,团队开发时也不用把jar包传来传去的,下面简单说明一下Maven导包的过程
首先,百度搜索Maven 点击
进入界面后搜索Spring,然后点击Spring Context , 我选择了4.3X版本的最新版 ,然后复制代码块:
将代码块粘贴到pom.xml文件的<dependencies></dependencies>标签块中,保存后将会自动下载
依赖注入:
所谓的控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部负责的。这样控制权就由应用
转移到了外部容器,控制权的转移就是所谓的反转。
例如:
以前我们写代码的方式:
学习spring之后,将由Spring创建对象实例--> IoC 控制反转(Inverse of Control)。之后需要实例对象时,从spring工厂(容器)中获得,需要将实现类的全限定名称配置到xml文件中
示例:
配置文件,开发中常用 applicationContext.xml
测试(需要导入junit的jar包,也可以直接写一个main函数进行测试):
首先,百度搜索Maven 点击
进入界面后搜索Spring,然后点击Spring Context , 我选择了4.3X版本的最新版 ,然后复制代码块:
将代码块粘贴到pom.xml文件的<dependencies></dependencies>标签块中,保存后将会自动下载
依赖注入:
所谓的控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部负责的。这样控制权就由应用
转移到了外部容器,控制权的转移就是所谓的反转。
例如:
以前我们写代码的方式:
public class UserService { private UserDao userDao = new UserDao (); public void save(User User){ userDao.save(User); } }//在UserService中调用UserDao,控制权在UserService中,耦合度高,如果修改了UserDao,UserService也要做相应的修改
学习spring之后,将由Spring创建对象实例--> IoC 控制反转(Inverse of Control)。之后需要实例对象时,从spring工厂(容器)中获得,需要将实现类的全限定名称配置到xml文件中
示例:
public interface UserService { public void addUser(); }
public class UserServiceImpl implements UserService { @Override public void addUser() { System.out.println("a_ico add user"); } }
配置文件,开发中常用 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"> <!-- 配置service <bean> 配置需要创建的对象 id :用于之后从spring容器获得实例时使用的 class :需要创建实例的全限定类名 --> <bean id="userServiceId" class="com.itheima.a_ioc.UserServiceImpl"></bean> </beans>
测试(需要导入junit的jar包,也可以直接写一个main函数进行测试):
@Test public void demo02(){ //从spring容器获得 //1 获得容器,从类路径下读取application配置文件 String xmlPath = "spring/applicationContext.xml"; ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); //2获得内容 --不需要自己new,都是从spring容器获得 UserService userService = (UserService) applicationContext.getBean("userServiceId"); userService.addUser(); }测试结果:控制台显示:a_ico add user
相关文章推荐
- spring学习笔记 -- day02 spring基础、IOC控制反转
- Spring基础学习二 : IOC控制反转
- Spring学习--IOC基础 知道什么叫做控制反转和依赖注入
- Spring 框架学习—控制反转(IOC)
- Spring学习一:IOC(控制反转)和AOP(面向切面)的xml配置和注解方式
- Spring基础02--控制反转(IOC)
- Spring学习3—控制反转(IOC)基于Annotation(注解)的依赖注入实现
- Spring学习(三)IOC控制反转与DI依赖注入
- Spring 4 学习笔记2:控制反转(IoC)和依赖注入(DI)
- Spring.Net学习 控制反转(IoC)和面向切面编程(AOP)
- Spring.Net学习 控制反转(IoC)和面向切面编程(AOP) (转)
- 码农小汪-spring框架学习之2-spring IoC and Beans 控制反转 依赖注入 ApplicationContext BeanFactory
- Spring 学习 2- IOC原理 控制反转/依赖注入1
- Spring学习—控制反转(IOC)Spring依赖注入(DI)和控制反转(IOC)
- spring基础学习之Ioc-反射简单介绍(四)
- Spring 框架学习—控制反转(IOC)
- Spring 4.0 学习日记(1) --IOC 控制反转概念解释
- 码农小汪-spring框架学习之2-spring IoC and Beans 控制反转 依赖注入 ApplicationContext BeanFactory
- Spring学习,依赖注入(DI)、控制反转(IoC)和面向切面(AOP)
- Spring基础、IOC(控制反转)、AOP(面向切面编程)、Log4j、注解配置