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. JavaScript数组之傻傻分不清系列(split,splice,slice)

    因业务场景需求,需要将一个数组截断而不需要影响原数组.这里来理解一下 slice,splice,split slice() 从某个已有的数组返回选定的元素.(JavaScript Array 对象) ...

  2. Python基础教程2-3:以正确的宽度在居中的“盒子”内打印一个句子

    代码示例:#获取句子长度sentence = input('Plese input a sentence:')#He's very naughty boyscreen_width =100#获取文本的 ...

  3. Linux基础学习-crond系统计划任务

    系统计划任务 大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了. 计划任务分为一次性计划任务和周期性计划任务 ...

  4. charles 模拟手机弱网、修改请求参数、修改返回值

    1.charles模拟弱网(断网) 2.charles修改请求参数 (1)先访问一次需要改的请求,在charles上找到相应的请求地址 (2)然后在需要打断点的请求上右键,勾选[Breakpoints ...

  5. 《linux设备驱动开发详解》笔记——18 ARM linux设备树

    18.1 设备树的起源 linux 2.6及之前,大量板级信息被硬编码到内核里,十分庞大,大量冗余代码: linux 2.6之前,引入了设备树: 设备树源于OpenFirmware,描述硬件的数据结构 ...

  6. python3 输入某年某月某日,判断这一天是这一年的第几天?

    题目 输入某年某月某日,判断这一天是这一年的第几天? 程序分析 特殊情况,闰年时需考虑二月多加一天. 代码: import calendar year = int(input("Year:& ...

  7. B - CD UVA - 624

    https://cn.vjudge.net/contest/224070#problem/B #include <iostream> #include <cstring> #i ...

  8. Android自动化测试如何获取坐标点?

    有以下三种方法: 1.打开开发者选项中的“显示指针位置”: 英文文版本为Settings->Developer option->Show touches(on)->Pointer l ...

  9. 3224: Tyvj 1728 普通平衡树(新板子)

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 17048  Solved: 7429[Submit][St ...

  10. Objective-C中的一些特殊的数据类型

    nil nil和C语言的NULL相同,在objc/objc.h中定义.nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空). Nil  首字母大写的Nil和nil有一点不一样 ...