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. mysql grant 用户权限说明

    mysql grant 用户权限说明 Mysql 有多个个权限?经常记不住,今天总结一下,看后都能牢牢的记在心里啦!! 很明显总共28个权限:下面是具体的权限介绍:转载的,记录一下: 一.权限表 my ...

  2. Oracle11g 数据库的导入导出

    导出: 全部: exp imagesys/imagesys@orcl file=/icms/20170116.dmp full=y 用户: exp imagesys/imagesys @orcl fi ...

  3. JavaScript的基础知识

    1,标识符 标识符是程序中常量或变量命名的一种术语称呼,并不是所有的字符组成都是一个合法的标识符,规范如下: 标识符的组成部分可以是字母,数字,下划线或美元($)符号 标识符开头是字母,下划线或美元( ...

  4. 控件中添加的成员变量value和control的区别

    control型变量是这个控件所属类的一个实例(对象)可以通过这个变量来对该控件进行一些设置.而value只是用来传递数据,不能对控件进行其它的操作.control型变量可以获得控件的实例,通过这个变 ...

  5. [bzoj]3436 小K的农场

    [题目描述] 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述:农场a比农场b至少多种植了c个单位的 ...

  6. jenkins+svn+pipeline+kubernetes部署java应用(一)

    一.linux安装svn服务端 yum -y install subversion 二.创建svn版本库(项目仓库) mkdir -p /home/svn svnadmin create /home/ ...

  7. jQuery发送ajax请求实现跨域访问

    Java代码的话,在返回响应之前调用如下代码中的allowCrossDomainAccess()方法: /** * 允许跨域访问 */ public void allowCrossDomainAcce ...

  8. vue渲染函数&JSX

    Vue推荐在绝大多数情况下使用template来创建你的HTML.然而在一些场景中,你真的需要JavaScript的完全编程能力,这时你可以使用render函数,它比template跟接近编译器. 虚 ...

  9. ipvsadm分发MySQL读请求

    在MySQL的部署场景中,经常使用HAproxy和ipvs来作为读请求转发的网关.ipvs的好处在于本身不需要daemon的方式来运行,而是直接作为kernel的服务来提供:当ipvs和应用程序服务器 ...

  10. 使用GD库做图片水印

    png图片作为水印加到其他类型图片后,背景变黑色 原因: imagecopy函数拷贝时可以保留png图像的原透明信息,而imagecopymerge却不支持图片的本身的透明拷贝. 然后直接上代码: / ...