- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习Spring
Spring框架学习文档
一、基于B/S的典型三层架构
展现层 业务逻辑层 持久化层
WebWork/Struts Spring Hibernate Action,FormBean,配置档,模版页面 IOC容器AOP,hibernate的支持,事物管理 映射档,Hibernate界面,DAO模式
问题的提出
例子:你做了一个网站,其中要用到一些业务逻辑;登录(返回boolean),注册(返回boolean),查询(返回HashSet)。这个模块经常被改变,或者为不同的业务服务而切换,你怎么样在Action里面调用这个模块?
——new 一个对象
方案1:将所有可能出现的切换情况都拷贝到Action目录下。
方案2:面向界面编程,并且用到工厂。
Spring的作用:管理业务逻辑——IOC
1.这种思想可以很好的实现同类不同质的模块切换。
2.开发具备属性的程序。
3.可以方便的通过配置档改变模块行为,动态注入属性值。
4.模块组装
注意:只关注配置档的修改,不需要知道他具体的调用实现
三、关于Bean标签:
Bean的初始化函数和消亡函数
bean id=s1 class=Student inti-method=init destroy=destroy
/bean
这些函数会自动调用
Bean的构造函数注入(不要参数的名字,但要类型)
construtor-arg index=0 type=java.lang.String
value123/value
/construtor-arg
construtor-arg index=1 type=java.lang.String
value456/value
/construtor-arg
注意:这个功能可以充分让IDE给我们做.
Bean的 singleton(单态)
bean id=s1 class=Strdent init-method=init destroy-method=destroy
singleton=true
/bean
注意:构造函数和初始化函数只调用一次,
Bean的延迟加载
延迟加载(lazy-init)只对于单态的bean,非单态的bean,本来就是延迟加载。
写了三个例子:
1.spring_demo_1 : 是简单的spring测试
2.spring_demo_2 : 是对spring的优化写法
3.spring_bean_tag :对Bean标签的练习
Spring与Struts的整合
1.场景:Struts登陆,调用Dao,要求Dao内能够显示登陆信息。
整合问题1:
在web工程下,使用ApplicationContext context = new FileSystemXmlApplicationContext(/WEB-INF/applicationContext.xml);这样读取配置文件是错的。
解决方法:在web.xml中配置:
servlet
servlet-namecontext/servlet-name servlet-classorg.springframework.web.context.ContextLoaderServlet/servlet-class
load-on-startup1/load-on-startup
/serlvet
这样就会自动读取/WebRoot/WEB-INF/applicationContext.xml,如果自定义文件名,则还需要增加:
context-prame
prame-namecontextConfigLocation/prame-name
prame-value/文件路径/prame-value
/context-prame
通过WebApplicationContextUtils.getWebApplicationContext(application);得到Bean
另一种方法:用Listener接口(Servlet2.3以上的版本使用)
建立一个WEB项目,在web.xml中加入
context-prame
prame-namecontextConfigLocation/prame-name
prame-value/文件路径/prame-value
/context-prame
listener
listene
文档评论(0)