SpringMVC中IOC容器

1.Spring作用:
1.生态体系庞大,全能型选手!【springmvc是其一个子模块,jdbcTemplate能直接操作数据库!】
2.将其他组件粘合在一起
3.IOC容器和AOP
Spring的Ioc机制(控制反转和依赖注入)正是用在此处。
Spring的Ioc(控制反转和依赖注入)
控制反转[Ioc]:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。
控制反转是一种思想,其具体实现就是依赖注入!
依赖注入[DI]:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系注入到组件之中。

2.IOC容器细节
1.使用IOC容器创建对象
2.使用IOC容器在创建对象的同时,给对象的属性赋值
3.在创建对象的过程中,实现组件对象之间的自动装配

3.搭建Spring IOC容器需要的开发环境
1.导入IOC容器需要的jar包
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
commons-logging-1.1.3.jar
2.创建Spring配置文件[Spring bean Configuration File]

实验1:

<!--实验1:通过IOC容器创建对象,并为属性赋值 -->
<!-- 需要由IOC容器创建对象的全类名 -->
<!-- 为了便于从IOC容器中获取book对象,声明一个一个唯一的id值 -->
<bean id="book01" class="com.neuedu.spring.bean.Book">
<property name="bookId" value="2001"></property>
<property name="bookName" value="三国演义"></property>
<property name="author" value="罗贯中"></property>
<property name="price" value="22.5"></property>
</bean>

@Test
public void test01() {
//1.创建IOC容器自身的对象
//指定配置文件以类路径为基准的配置文件名
ApplicationContext ioc= new ClassPathXmlApplicationContext("bean.xml");
//2.从IOC容器中获取指定的对象
Object bean = ioc.getBean("book01");
System.out.println(bean);
}

注意:
①IOC容器本身对象创建时,会将配置文件中配置好的bean先创建出来
②默认是单实例的,只创建bean的一个对象
③如果设置bean的scope属性为prototype,那么创建bean的对象就是多实例的,在获取的时候创建,每次获取对象都会创建新的
④.从IOC容器中获取对象
①根据bean的id获取
②根据bean的类型获取:要求容器中指定类型的bean是唯一的

时间: 2025-01-19 22:47:19

SpringMVC中IOC容器的相关文章

Spring 中 IoC 容器简介

IoC 是一种通过描述来生成或者获取对象的技术,可以说 Spring 是一种基于 IoC 容器编程的框架 在一个系统中可以生成各种对象,并且这些对象都需要进行管理.为了描述这些对象关系,我们需要一个容器.在 Spring 中把每一个需要管理的对象称为 Spring Bean ,而管理这些 Bean 的容器就被称为 Spring IoC 容器. IoC 容器需要具备两个基本的功能: 通过描述管理 Bean ,包括发布和获取 Bean 通过描述完成 Bean 之间的依赖关系 介绍 Spring Io

Spring中Ioc容器的注入方式

1 通过setter方法注入 bean类: package com.test; public class UserServiceImplement implements IUserService { private IUserDao user; public IUserDao getUser() { return user; } public void setUser(IUserDao user) { this.user = user; } public void saveUser() { us

Spring中IOC容器对数组,集合的相关bean的装配

<bean id="department" class="com.pojo.Department"> <property name="name" value="人事部"></property> <!-- 数组 --> <property name="empName"> <list> <value>张三</value&g

设计一个可拔插的 IOC 容器

前言 磨了许久,借助最近的一次通宵上线 cicada 终于更新了 v2.0.0 版本. 之所以大的版本号变为 2,确实是向下不兼容了:主要表现为: 修复了几个反馈的 bug. 灵活的路由方式. 可拔插的 IOC 容器选择. 其中重点是后面两个. 新的路由方式 先来看第一个:路由方式的更新. 在之前的版本想要写一个接口必须的实现一个 WorkAction:而且最麻烦的是一个实现类只能做一个接口. 因此也有朋友给我提过这个 issue. 于是改进后的使用方式如下: 是否有点似曾相识的感觉. 如上图所

Spring IOC容器和Spring MVC IOC容器的区别

web.xml <context-param> <param-name>contextConfigLocation</param-name> <!-- 指定加载application配置文件 --> <param-value>classpath:spring/application.xml</param-value> </context-param> <listener> <listener-class&

Spring IoC容器初始化过程

IoC容器是什么?IoC文英全称Inversion of Control,即控制反转,我么可以这么理解IoC容器: 把某些业务对象的的控制权交给一个平台或者框架来同一管理,这个同一管理的平台可以称为IoC容器. 我们刚开始学习spring的时候会经常看到的类似下面的这代码: ApplicationContext appContext = new ClassPathXmlApplicationContext("cjj/models/beans.xml"); Person p = (Per

spring技术内幕读书笔记之IoC容器的学习

第一篇:概念和设计原理 IoC容器的实现作为Spring的核心内容之一非常有必要拿来研究一下 1.概念 IoC(Inversion of Control,控制反转)必须思考的问题:哪些方面的控制被反转了? 对于这个问题,Martin Flower给出结论是:依赖对象的获得被反转了.基于此,他为控制反转创造了一个更好的名字:依赖注入. SpringIoC模块是这一思想的一种实现,IoC容器把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,降低了组件之间的耦合度,利于功能复用,方便进行

反射 + 配置文件 实现IOC容器

IOC实现: IOC容器我们仅仅停留在知道上是不行的,我们要动手做印象对更深刻,那么我给大家看一个代码,看看代码中IOC容器的实现. 代码实现: 创建一个类库: 解决方案的类库建立: 创建一个实体类:User: <span style="font-size:18px;">using System; using System.Collections.Generic; using System.Text; namespace Spring.Demo.Model { /// &l

IOC容器和依赖反转模式

在这里,我们先简要地讨论依赖反转的相关概念.我们选取维基百科中关于体赖反转的叙述,把这些文字作为我们理解依赖反转这个概念的参考.这里不会对这些原理进行学理.上的考究,只是希望提供-些有用的信息,以便给读者一些自示.这个模式非常重要,它是IoC容器得到广泛应用的基础.        维基百科对"依赖反转"相关概念的叙述 平在2004年.Martin Fowler就提出了"哪些方面的控制被反转了?"这个问题.他得出的结 论是依赖对象的获得被反转了.基于这个结论,他为控制