Spring入门 (IOC)
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注入
- 数组
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)的更多相关文章
- Spring入门IOC和AOP学习笔记
Spring入门IOC和AOP学习笔记 概述 Spring框架的核心有两个: Spring容器作为超级大工厂,负责管理.创建所有的Java对象,这些Java对象被称为Bean. Spring容器管理容 ...
- Spring入门Ioc、DI笔记
Spring是为解决企业应用程序开发复杂性而创建的一个Java开源框架.以下是本人学习过程中总结的一些笔记: 如何学习Spring - 掌握用法 - 深入理解 - 反复总结 - 再次深入理解和实践 s ...
- Spring中IoC的入门实例
Spring中IoC的入门实例 Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如 ...
- Spring入门导读——IoC和AOP
和MyBatis系列不同的是,在正式开始Spring入门时,我们先来了解两个关于Spring核心的概念,IoC(Inverse of Control)控制反转和AOP()面向切面编程. 1.IoC(I ...
- Spring入门(一)— IOC、DI
一.Spring介绍 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成 ...
- Spring入门2. IoC中装配Bean
Spring入门2. IoC中装配Bean 20131125 前言: 上一节学习了Spring在JavaProject中的配置,通过配置文件利用BeanFactory和ApplicationConte ...
- Spring入门1. IoC入门实例
Spring入门1. IoC入门实例 Reference:Java EE轻量级解决方案——S2SH 前言: 之前学习过关于Spring的一点知识,曾经因为配置出现问题,而总是被迫放弃学习这些框架技术, ...
- 二 Spring的IOC入门,环境搭建,Spring测试类
IOC:inversion of Control 控制反转,Spring框架的核心.削减计算机程序的耦合问题,把对象(例如JDBC)的创建权交给Spring. IOC的两种类型: 依赖注入: 依赖查 ...
- Spring入门及IoC的概念
Spring入门 Spring是一个轻量级的Java开发框架,最早由Robd Johnson创建,目的为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,它是一个分层的JavaSE/EE轻量级开源 ...
- Spring入门之IOC
IOC/DI: Spring最核心的灵魂,IOC/DI(控制反转/依赖注入)!,这里一定要理解他,理解这个思想.我会细说什么是IOC/DI.他的思想是什么.它带来了那些好处. 进入正题,先说说什么是i ...
随机推荐
- 关于SQL语言的初步认识
关于SQL语言的初步认识 1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义. 2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项. 3.一个表或者是一 ...
- (转发)IOS动画中的枚举UIViewAnimationOptions
若本帖转自(博客园·小八究):http://www.cnblogs.com/xiaobajiu/p/4084747.html 可怜目前天朝搜不到什么有价值的东西方便学习,在这里方便初学者. 首先这个枚 ...
- 洛谷 P1228 【地毯填补问题】
事实上感觉四个的形状分别是这样: spj报错: 1:c 越界 2:x,y 越界 3:mp[x][y] 已被占用 4:mp[x][y] 从未被使用 题解: 初看这个问题,似乎无从下手,于是我们可以先考虑 ...
- k8s的flannel网络插件配置
flannel的网络插件配置 Kubernetes网络通信需要解决以下问题: (1)容器间通信:同一个Pod内的多个容器间的通信,lo (2)Pod通信:P ...
- 重写laravel 异常抛出处理
所有异常错误都由类App\Exceptions\Handler处理,该类包含两个方法:report和render. 这里我们只看render方法,该方法会将异常渲染到HTTP响应中,就是说上面的错误信 ...
- python操作日志的封装
前言 曾经转载过一篇关于python日志模块logging的详解 https://www.cnblogs.com/linuxchao/p/linuxchao-log.html, 虽然这篇文章是别人写的 ...
- flask-博客文章
提交和显示博客文章 文章模型 class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key= ...
- python week08 并发编程之多线程--理论部分
一. 什么是线程 1.定义 线程就像一条工厂车间里的流水线,一个车间里可以用很多流水线,来执行生产每个零部件的任务. 所以车间可以看作是进程,流水线可以看作是线程.(进程是资源单位,线程是执行单位) ...
- day03_08 变量的重新赋值02
python自动回收垃圾内存,不用了自动会回收,但是C不会 以下del代码为手动强拆,就是从内存中删除变量名
- mac 命令行下连接到MySQL mysql: command not found
mac下刚刚安装完MySQL后使用命令连接到MySQL mysql -uroot -p 提示: -bash: mysql: command not found使用 /usr/local/mysql ...