1.实现原理

IOC:控制反转,指的是对象创建权反转(交给)Spring,作用是实现了程序的解耦合。

2.实现步骤

(1)    下载jar包(参见开发库/spring)

(2)    创建web项目,导入jar包

(3)    书写配置文件,并注册对象到容器中

Xml文件名字与位置任意,建议放到src目录下起名为aoolicationContext.xml

Xml中注册对象:

(4)测试代码

3.Spring创建对象的三种方式(Bean创建方式)

(1)工厂类:

(2)配置文件:

(3)       测试方法:

4.Bean元素属性

(1)scope属性

(2)初始化方法和销毁方法

例如:

User.java中:

测试:

5.import属性引入其他配置文件

6.属性注入方式

(1)     set方法注入

(2)构造方法注入:

测试:

(3)p命名空间注入

(4)       spel注入

(5)       数组,list,Map,Properties注入

  1. 数组

    2.list

    3.Map

    4.Properties

7.Spring应用到Struts

(1)     倒包(原来的spring包加web包)

(2)

(3)

(4)

改正:将spring与servletContext绑定在一起,每次启动项目时创建一个容器

8.入门总结

1.spring介绍

spring并不局限于某一层.

spring是对象的容器,帮我们"管理"项目中的所有对象

2.spring搭建

1>导包 4+2

2>准备类

3>书写配置(src/applicationContext.xml)

4>书写代码测试

3.spring中的概念

ioc: 反转控制. 创建对象的方式反转了.从我们自己创建对象,反转给spring(程序)来创建.

di: 依赖注入.将必须的属性注入到对象当中.是实现ioc思想必须条件.

beanFactory与ApplicationContext

4.配置文件详解

bean元素

id:     给Bean起个名字            不能重复,不能使用特殊字符.早期属性.

name:给Bean起个名字                  能重复,能使用特殊字符.后来属性.

class:类的完整类名

生命周期属性

init-method               指出初始化方法

destory-method  指出销毁方法

作用范围

scope:

singleton(默认值):单例.创建容器时会立即创建单例对象

prototype :多例.每次获得对象时,才会创建对象,并且每次都会创建新的对象

分模块开发

<import  />

5.Bean的创建方式

*空参构造创建

静态工厂

实例工厂

6.注入方式

*set方法

*构造方法

p名称空间

spEL表达式

7.复杂属性注入

Array

List

Map

Properties

8.在WEB环境中使用Spring容器

1>导包 4+2+1(spring-web)

2>在web.xml中配置listener => ContextLoaderListener

|-配置参数,指定spring配置路径

3>在Action中,使用工具类获得容器.

|-WebApplicationContextUtils.getWebApplicationContext(ServletContext sc)

Spring入门 (IOC)的更多相关文章

  1. Spring入门IOC和AOP学习笔记

    Spring入门IOC和AOP学习笔记 概述 Spring框架的核心有两个: Spring容器作为超级大工厂,负责管理.创建所有的Java对象,这些Java对象被称为Bean. Spring容器管理容 ...

  2. Spring入门Ioc、DI笔记

    Spring是为解决企业应用程序开发复杂性而创建的一个Java开源框架.以下是本人学习过程中总结的一些笔记: 如何学习Spring - 掌握用法 - 深入理解 - 反复总结 - 再次深入理解和实践 s ...

  3. Spring中IoC的入门实例

    Spring中IoC的入门实例 Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如 ...

  4. Spring入门导读——IoC和AOP

    和MyBatis系列不同的是,在正式开始Spring入门时,我们先来了解两个关于Spring核心的概念,IoC(Inverse of Control)控制反转和AOP()面向切面编程. 1.IoC(I ...

  5. Spring入门(一)— IOC、DI

    一.Spring介绍 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成 ...

  6. Spring入门2. IoC中装配Bean

    Spring入门2. IoC中装配Bean 20131125 前言: 上一节学习了Spring在JavaProject中的配置,通过配置文件利用BeanFactory和ApplicationConte ...

  7. Spring入门1. IoC入门实例

    Spring入门1. IoC入门实例 Reference:Java EE轻量级解决方案——S2SH 前言: 之前学习过关于Spring的一点知识,曾经因为配置出现问题,而总是被迫放弃学习这些框架技术, ...

  8. 二 Spring的IOC入门,环境搭建,Spring测试类

    IOC:inversion of Control  控制反转,Spring框架的核心.削减计算机程序的耦合问题,把对象(例如JDBC)的创建权交给Spring. IOC的两种类型: 依赖注入: 依赖查 ...

  9. Spring入门及IoC的概念

    Spring入门 Spring是一个轻量级的Java开发框架,最早由Robd Johnson创建,目的为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,它是一个分层的JavaSE/EE轻量级开源 ...

  10. Spring入门之IOC

    IOC/DI: Spring最核心的灵魂,IOC/DI(控制反转/依赖注入)!,这里一定要理解他,理解这个思想.我会细说什么是IOC/DI.他的思想是什么.它带来了那些好处. 进入正题,先说说什么是i ...

随机推荐

  1. 关于SQL语言的初步认识

    关于SQL语言的初步认识 1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义. 2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项. 3.一个表或者是一 ...

  2. (转发)IOS动画中的枚举UIViewAnimationOptions

    若本帖转自(博客园·小八究):http://www.cnblogs.com/xiaobajiu/p/4084747.html 可怜目前天朝搜不到什么有价值的东西方便学习,在这里方便初学者. 首先这个枚 ...

  3. 洛谷 P1228 【地毯填补问题】

    事实上感觉四个的形状分别是这样: spj报错: 1:c 越界 2:x,y 越界 3:mp[x][y] 已被占用 4:mp[x][y] 从未被使用 题解: 初看这个问题,似乎无从下手,于是我们可以先考虑 ...

  4. k8s的flannel网络插件配置

    flannel的网络插件配置 Kubernetes网络通信需要解决以下问题:            (1)容器间通信:同一个Pod内的多个容器间的通信,lo            (2)Pod通信:P ...

  5. 重写laravel 异常抛出处理

    所有异常错误都由类App\Exceptions\Handler处理,该类包含两个方法:report和render. 这里我们只看render方法,该方法会将异常渲染到HTTP响应中,就是说上面的错误信 ...

  6. python操作日志的封装

    前言 曾经转载过一篇关于python日志模块logging的详解 https://www.cnblogs.com/linuxchao/p/linuxchao-log.html, 虽然这篇文章是别人写的 ...

  7. flask-博客文章

    提交和显示博客文章 文章模型 class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key= ...

  8. python week08 并发编程之多线程--理论部分

    一. 什么是线程 1.定义 线程就像一条工厂车间里的流水线,一个车间里可以用很多流水线,来执行生产每个零部件的任务. 所以车间可以看作是进程,流水线可以看作是线程.(进程是资源单位,线程是执行单位) ...

  9. day03_08 变量的重新赋值02

    python自动回收垃圾内存,不用了自动会回收,但是C不会 以下del代码为手动强拆,就是从内存中删除变量名

  10. mac 命令行下连接到MySQL mysql: command not found

    mac下刚刚安装完MySQL后使用命令连接到MySQL mysql -uroot -p 提示:  -bash: mysql: command not found使用  /usr/local/mysql ...