spring学习笔记.doc

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

spring 学习笔记

【篇一:spring 学习笔记】

4.主要内容:

从下向上看spring 的主要内容:

test :spring 支持junit 单元测试

核心容器(ioc) :bean(bean 工厂,创建对象)、core( 一切的基础)、context( 上下文)、spel(spring 的表达式语言);

aop :aop 、aspects

对数据访问的支持:jdbc 、orm 、transaction 、jms(java 邮件服务)

对web 的支持:spring mvc

5.ioc--inversion of control 控制反转:

首先引用一篇文章的内容,简单了解一下dao 和service 层,controller 层、view 层(),另一篇文章对spring ioc 设计思想的总

结比较全面和通俗易懂; 第一步:定义dao 接口userdao package cn.sxt.dao;// 降低耦合性public interface userdao

{ public void getuser();} 第二步:定义dao 接口的实现类userdaomysqlimpl 和userdaooracleimpl userdaomysqlimpl:

package cn.sxt.dao.impl;import erdao;public

class userdaomysqlimpl implements userdao { @override

public void getuser(){ system.out.println(mysql 获取用户数

据);}userdaooracleimpl:

package cn.sxt.dao.impl;import erdao;public

class userdaomysqlimpl implements userdao { @override

public void getuser(){ system.out.println(mysql 获取用户数据);}

第三步:定义service 层接口userservice ,实现具体的业务

package cn.sxt.service;public interface userservice { public void getuser();} 第四步:

定义service 接口的实现类

userserviceimpl,service 层的业务实现,具体要调用到已定义的

dao 层的接口

我们传统的javase 设计思想,代码是这样组织的:我们直接在对象内部(应用程序本身)通过new 进行创建对象,是程序主动去创建依赖对象

package cn.sxt.service.impl;import erdao;import

erservice;public class userserviceimpl

implements userservice{ // 直接依赖(耦合) private userdao

userdao=new userdaomysqlimpl(); @override public void

getuser(){ userdao.getuser();} 在我们的测试类test( 可以理解成客

户端)中

package cn.sxt.test;import

erdaomysqlimpl;import

erdaooracleimpl;import

erserviceimpl;// 原来是在userserviceimpl

中创建userdao 对象(应用程序本身)//现在是客户端(调用端)来创建public class test { public static void main(string

args[]){ userserviceimpl userservice=new userserviceimpl();

userservice.ge

tuser();} 如果需要替换dao 接口的具体实现类的时候,我们需要将userserviceimpl 中的

private userdao userdao=new userdaomysqlimpl(); 修改为:

private userdao userdao=new userdaooracleimpl(); 控制反转(ioc) 的设计思想,我们不需要应用程序本身来创建对象,而是将创

建对象的任务交付给ioc 容器:此时,我们在userserviceimpl 可以这样编写代码

package cn.sxt.service.impl;import erdao;import

erservice;public class userserviceimpl implements userservice{ // 直接依

赖(耦合) // private userdao

userdao=new userdaomysqlimpl(); // 瞬间隔离开来private

userdao userdao=null; public void setuserdao(userdao

userdao) { erdao = userdao; @override public void

getuser(){ userdao.getuser();} 添加一个set 方法,当调用端需要

创建对象的时候,创建具体实现类的对象,此时我们在test 类

中就可

以这样组织代码:package cn.sxt.test;import

erdaomysqlimpl;import

erdaooracleimpl;import

erserviceimpl;// 原来是在userserviceimpl

中创建userdao 对象(应用程序本身)//现在是客户端(调用端)来创建public class test { public static void main(string

args[]){ userserviceimpl userservice=new userserviceimpl();

userservice.setuserdao(new userdaomysqlimpl());

相关文档
最新文档