- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring的快速入门案例
spring是什么?
struts 是 web 框架 (jsp/action/actionfrom)
hibernate 是 orm框架,处于持久层.
spring 是容器框架,用于配置bean,并维护bean之间关系的框架
? spring中有一个非常概念: bean (是java中的任何一种对象 javabean/service/action/数据源./dao, ioc(控制反转 inverse of control) di( dependency injection 依赖注入)
? 画一个框架图
快速入门
开发一个spring项目.
引入spring的开发包(最小配置spring.jar 该包把常用的jar都包括, 还要 写日志包 common-logging.jar
创建spring的一个核心文件 applicationContext.xml, [hibernate有核心 hibernate.cfg.xml struts核心文件 struts-config.xml], 该文件一般放在src目录下,该文件中引入 xsd文件 :
可以从给出的案例中拷贝一份.
配置bean
!-- 在容器文件中配置bean(service/dao/domain/action/数据源) --
!-- bean元素的作用是,当我们的spring框架加载时候,spring就会自动的创建一个bean对象,并放入内存
UserService userSerivce=new UserService();
userSerivce.setName(韩顺平);
--
bean id=userService class=com.service.UserService
!-- 这里就体现出注入的概念. --
property name=name
value韩顺平/value
/property
/bean
在Test.java中,我们怎么使用
//我们现在使用spring来完成上面的任务
//1.得到spring 的applicationContext对象(容器对象)
ApplicationContext ac=new ClassPathXmlApplicationContext(applicationContext.xml);
UserService us=(UserService) ac.getBean(userService);
us.sayHello();
细节讨论?
传统的方法和使用spring的方法
使用spring ,没有new 对象,我们把创建对象的任务交给spring框架
spring的运行原理图:
5.3我们再看spring
对上面案例总结:
spring实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可.
ioc是什么?
答 :ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护.
DI是什么?
答: di(dependency injection) 依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术
? 学习框架,最重要的就是学习各个配置.
把Applicationcontext做成一个单例的.
上机练习: 把我写的代码走一遍.
spring开发提倡接口编程,配合di技术可以层与层的解耦
举例说明:
现在我们体验一下spring的di配合接口编程的,完成一个字母大小写转换的案例:
思路:
创建一个接口 ChangeLetter
两个类实现接口
把对象配置到spring容器中
使用
通过上面的案例,我们可以初步体会到di配合接口编程,的确可以减少层(web层) 和 业务层的耦合度.
思考题:
接口
ValidateUser
有一个方法:
check(??)
有两个类
CheckUser1 implements ValidateUser
{
check// 安装xml验证
}
CheckUser2 implements VallidateUser{
check()// 到数据库去验证
}
从ApplicationContex 应用上下文容器中获取bean和从bean工厂容器中获取bean
具体案例:
//从ApplicationContext中取bean
ApplicationConte
文档评论(0)