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. 01_1JAVA简介

    01_1JAVA简介 1. Java基础 语法基础.OO.Exception.Array.基础类.I/O Stream.Collection /Generic.Thread.TCP/UDP.GUI.M ...

  2. c++作业:使用函数调用的方法,实现求两个整数中大的数的程序。

    #include <iostream> using namespace std; int main(){ //从键盘接收两个整数,保存在变量num1和num2中 cout<<& ...

  3. Oracle 数据库常用SQL语句(1)

    一.数据定义语句 CREATE:创建表或其它对象 create database test; //创建test数据库 ),sex )); //创建表 ALTER:修改表或其它对象的结构 )); //为 ...

  4. LeetCode945-使数组唯一的最小增量

    问题:使数组唯一的最小增量 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1. 返回使 A 中的每个值都是唯一的最少操作次数. 示例 1: 输入:[1,2,2] 输出:1 ...

  5. IDEA入门学习笔记1:资料收集

    IDEA2018软件下载 :https://mp.weixin.qq.com/s?__biz=MzIwMjE1MjMyMw==&mid=2650200056&idx=1&sn= ...

  6. CF1029C Maximal Intersection

    https://www.luogu.org/problem/show?pid=CF1029C #include<bits/stdc++.h> using namespace std ; # ...

  7. [转载] C语言细节,写的非常棒!

    这篇文章主要讨论C语言细节问题.在找一份工作的时候,语言细节占的比例非常小,之前看某个贴着讨论,估计语言细节在面试中,占了10%的比重都不到,那为什么还要研究C语言的细节呢,我觉得有三个原因促使我总结 ...

  8. webdriver高级应用- 改变一个页面对象的属性值

    适用于一些无法操作的元素,可以直接改他的属性从而操作,代码如下: #encoding=utf-8 from selenium import webdriver import unittest impo ...

  9. python - 自动化测试框架 - sendMail

    # -*- coding:utf-8 -*- '''@project: Voctest@author: Jimmy@file: sendMail.py@ide: PyCharm Community E ...

  10. 洛谷9月月赛II 赛后瞎写

    看错比赛时间了....结果发现的时候已经开始了半个小时,并且当时正准备睡午觉qwq 于是就水了个t1就 去睡 跑了 T2 写着写着然后看了一发评讲被辣鸡思路给绕了进去最后发现自己宛若一个智障 类似桶的 ...