版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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 都包括, 还要 写日志包spri
2、ng 的一个核心文件 applicationContext.xml, hibernate 有核心 hibernate.cfg.xml strutsstruts-config.xml, 该文件一般放在src目录下,xsd可以从给出的案例中拷贝一份!- 在容器文件中配置bean(service/dao/domain/action/数据源) !- bean 元素的作用是当我们的spring 框架加载时候spring 就会自动的创建一个UserServiceuserSerivce=newUserService(); -beanid=userService!- 这里就体现出注入的概念 FileSyste
3、mXmlApplicationContext 通过文件路径ApplicationContext ac=new FileSystemXmlApplicationContext( beans.xml / beanServletservletinit()destory() java 对象生命周期. 实例化(beans.xml文件)bean(scope=singleton)实例set bean 名字关注接口(BeanNameAware) 则,可以通过setBeanName 获取号bean工厂关注接口,(BeanFactoryAware),则可以获取ApplicationContextAware/该方法
4、传递publicvoidsetApplicationContext(ApplicationContextarg0) throws BeansException / TODO Auto-generated method stub 如 果 bean一 个 后 置 处 理 器 关 联 , 则 会 自 动 去 调 用postProcessBeforeInitialization 方法InitializingBean 接口,则会调用 如果自己在 bean 定义自己的初始化方法bean ,则会自动去调用 Object DisposableBean 可以在 小结: 我们实际开发中往往,没有用的这么的过程,常
5、见的是上机练习: 把使用每个bean的时间记录到一个recoder.txt文件,内容是 使用时间是 :1999-11-11 11:11:11问题:BeanFactorybean对象,beanApplicationcontext 是一样不是一样的,bean是工厂中创建的生命周期会简单一些beanscope 的说明scope=”singleton”prototype,因为这样对我们的性能影响较大 如何给集合类型注入值java中主要的集合有几种mapsetlist / packageimport java.util.List; importjava.util.Map; import java.uti
6、l.Set;publicclassDepartmentprivate String name; privateStringempName;privateListempList; private Set empsets;privateMappublicSetgetEmpsets() return empsets;publicvoidsetEmpsets(Setempsets) this.empsets = empsets;publicStringgetEmpName() return empName;publicvoidsetEmpName(StringempName) this.empName
7、 = empName;publicStringgetName() return name;publicvoidsetName(Stringname) = name;publicListgetEmpList() return empList;publicvoidsetEmpList(ListempList) this.empList = empList;publicMapgetEmpMaps() return empMaps;publicvoidsetEmpMaps(MapempMaps) this.empMaps = empMaps;/Employeelpackagecom.hsp.colle
8、ction; public class Employee privateStringname; private int id;publicintgetId() return id;publicvoidsetId(intid) this.id = id;publicStringgetName() return name;publicvoidsetName(Stringname) = name;beans.xml配置文件?xmlversion=1.0encoding=utf-beans xmlns HYPERLINK /schema/beans =htt HYPERLINK /schema/bea
9、ns p:/ HYPERLINK /schema/beans /schema/beans HYPERLINK /2001/XMLSchema-instance HYPERLINK /2001/XMLSchema-instance HYPERLINK /2001/XMLSchema-instance HYPERLINK /schema/context HYPERLINK /schema/context HYPERLINK /schema/context HYPERLINK /schema/tx HYPERLINK /schema/beans HYPERLINK /schema/beans HYP
10、ERLINK /schema/beans/spring-beans-2.5.xsd HYPERLINK /schema/context HYPERLINK /schema/context/spring-context-2.5.xsd HYPERLINK /schema/tx HYPERLINK /schema/tx/spring-tx-2.5.xsd /schema/tx/spring-tx-beanid=departmentpropertyname=namevalue=财务部!- 给数组注入值property!- listlist propertyrefbean=emp2refrefrefr
11、efrefref!- setsetpropertyrefbean=emp1refrefrefref!- map注入值map只有key不一样,就可以装配valuepropertyentrykey=11value-ref=emp1entrykey=22value-entrykey=33value-【httpreferer propertyproppropbeanid=emp1propertyname=namevalue=北京propertyname=idbeanid=emp2propertyname=namevalue=天津propertyname=idbeanid=”foo”propertyna
12、me=”属性!第一方法引用refbean=bean对象名!内部bean 继承配置publicclasspublicclassGradateextendsbeans.xml!- 配置一个学生对象beanid=studentpropertyname=namevalue=顺平propertyname=age!- 配置Grdatebeanid=grdateparent=student!- 如果自己配置属性name,age,则会替换从父对象继承的数据 propertyname=namevalue=小明propertyname=degreevalue=学士思考: setbean注入值,spring还提供其
13、它的方式注入值,比如通通过构造函beans.xml 关键代码!- 配置一个雇员对象beanid=employee!- 通过构造函数来注入属性值constructor-argindex=0type=java.lang.Stringvalue=大明bean byName 的用法!- 配置一个masterbeanid=masterclass=com.hsp.autowire.Masterproperty!- 配置dog对象beanid=dogpropertyname=namevalue=小黄propertyname=age原理图byType: byType:寻找和属性类型相同的 bean,找不到,装
14、不上,找到多个抛异常 bean 多个bean说明 :这个需要在beansdefualt-autorwire=“指定当你在default-atuowrite bean autowire 如果没有在 没defualt-autorwire=“指定” ,则默认no: 不自动装springbean,完成分散配置说明: 当通过 context:property-placeholder 引入 属性文件的时候,有多个需要使用 , 号间!- 引入我们的perties!- 配置一DBUtil$beanid=dbutilpropertyname=namevalue=$namepropertyname=drivern
15、amevalue=$drivernamepropertyname=urlvalue=$urlpropertyname=pwdvalue=$pwd!- 配置一DBUtilbeanid=dbutil2propertyname=namevalue=$propertyname=drivernamevalue=$db2.drivernamepropertyname=urlvalue=$db2.url系统软件(操作系统,数据库, 杀毒软件,防火墙,驱动java语法(面向对象-类-对象classspring(aop) naop特别提醒: aop编程,实际上在开发框架本身用的多,在实际项目中,用的不是很多,但是aop原理+编程说明步骤编写通知(前置通知目标方法调用前调用beans.xml=ProxyFactory
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度绿色环保型社区门卫管理服务协议4篇
- 风机安装施工方案
- 强夯土方施工方案
- 速度课程设计讲解
- 2025年度新能源项目公司成立合作协议书规范文本4篇
- 2025年销售人员保密与反不正当竞争协议维护企业合法权益2篇
- 2025年度个人向公司借款用于房屋维修贷款合同范本3篇
- 2025年度智能房屋租赁管理服务承包合同书4篇
- 2025年教育机构厨师团队聘用及餐饮服务质量标准合同2篇
- 二零二五版民房建筑施工安全生产责任合同4篇
- 河南省郑州市2023-2024学年高二上学期期末考试 数学 含答案
- 2024年资格考试-WSET二级认证考试近5年真题集锦(频考类试题)带答案
- 试卷中国电子学会青少年软件编程等级考试标准python三级练习
- 公益慈善机构数字化转型行业三年发展洞察报告
- 饲料厂现场管理类隐患排查治理清单
- 2024年公需科目培训考试题及答案
- 【名著阅读】《红岩》30题(附答案解析)
- Starter Unit 2 同步练习人教版2024七年级英语上册
- 分数的加法、减法、乘法和除法运算规律
- 2024年江苏鑫财国有资产运营有限公司招聘笔试冲刺题(带答案解析)
- 2024年辽宁石化职业技术学院单招职业适应性测试题库含答案
评论
0/150
提交评论