



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 Spring的作用 1 帮助我们产生对象2 帮助我们管理对象3 帮助我们管理对象之间的关系二 Spring配置文件的读取方式(1)ApplicationContext 1ApplicationContext ac = new FileSystemXmlApplicationContext(src/applicationContext.xml);2ApplicationContext ac = new ClassPathXmlApplicationContext(applicationContext.xml);(2)BeanFactory1Resource rs = new FileSystemResource(src/applicationContext.xml); BeanFactory factory = new XmlBeanFactory(rs);2Resource rs = new ClassPathResource(spring.xml);BeanFactory factory=new XmlBeanFactory(rs);三 Spring 读取多个配置文件1String xmls = new String“spring1.xml”,”spring2.xml”,”spring3.xml”;ApplicationContext context = new ClassPathXmlApplicationContext(xmls);2使用通配符spring1.xml spring2.xml spring3.xmlApplicationContext context = new ClassPathXmlApplicationContext(“spring*.xml”);3 四 Bean实例的创建方式1使用类的无参数构造方法构造 该方式要求在开发类的时候类一定要有无参数的构造方法。2使用静态工厂实例化 Public class UserServiceFactotypublic static UserService createService()return new UserService();3使用实例工厂方法实例化Public class UserServiceFactorypublic UserService createService()return new UserService(); 五 Spring 依赖注入的三种方式1接口注入2Setter注入注入属性xx时,必须要有对应的setXx()方法,在property标签中,如果是基本类型或者是String类型 用value标签,如果是引用其他的类类型用ref标签,如果是其他特殊类型如List,Map,Property等用以下方式:1:List public class HelloWorld /定义一个List变量msg List msg=null; public void setMsg(List msg) this.msg = msg; xml文件: Hello World!Hello World2!2: set public class HelloWorld /定义一个Set变量msg Set msg=null; public void setMsg(Set msg) this.msg = msg; xml文件: Hello World!Hello World2!3: map public class HelloWorld /定义一个Map变量msg Map msg=null; public void setMsg(Map msg) this.msg = msg; xml文件: Hello World!Hello World2!4:Properties public class HelloWorld /定义一个properties变量msg Properties msg; public void setMsg(Properties msg) this.msg = msg; xml文件: Hello World!Hello World2!3构造注入六 Spring 实例的延迟加载默认情况下容器启动时初始化bean,但我们可以指定bean节点的lazy-init=“true”来延迟加载,只有使用时初始化加载,例如如果所有的bean都想设置延迟加载,可以在根节点beans设置default-lazy-init=“true”,例如:七 Spring 单例模式默认Spring IOC容器每一个bean注入实例都是同一个实例设置每次实例是新实例(scope=“prototype”)八 Spring的代理机制1 静态代理代理对象的一个接口只服务于一种类的对象,而且如果要代理的方法很多,我们势必要为每个方法进行代理,静态代理在程序規模稍大時就必定无法胜任.2 动态代理1 Jdk动态代理Java在JDK 1.3之后加入协助开发动态代理功能的类,我們不必为特定对象与方法写特定的代理,使用动态代理,可以使得一个handler服务于各个对象,首先,一個handler必须实现java.lang.reflect.InvocationHandler3 CGLib动态代理当代理对象没有实现接口,我们就可以 使用CGLIB生成代理 ,需要我们使用 cglib-nodep-2.1_3.jar。我们编写CGlibProxyFactory实例 ,需要实现 MethodInterceptor 接口CGLIB可以生成目标类的子类,并重写父类非final修饰符的方法。4 JDK动态代理 : 需要代理的对象要实现接口,代理对象要实现 Invoc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年综合类-临床医学检验技术(士)-血栓与止血的基本理论历年真题摘选带答案(5套单选100题合辑)
- 2025年综合类-临床医学检验技术(士)-体液免疫球蛋白测定历年真题摘选带答案(5卷单选题百道集合)
- 2025年综合类-中西医结合执业医师-基本操作历年真题摘选带答案(5卷单选100题合辑)
- 2025年综合类-中学教育知识与能力-第六章中学生心理辅导历年真题摘选带答案(5卷单选题百道集合)
- 宿州小区门岗管理办法
- 安全交易综合管理办法
- 大型外企采购管理办法
- 员工基金使用管理办法
- 家庭寄养宠物管理办法
- 后勤大楼管理管理办法
- 云南教育强省建设规划纲要(2024-2035年)知识培训
- 踝泵运动课件(20200907193058)()
- 《PFMEA培训教材》课件
- 停车场数据分析与运营方案
- 压力分散型锚索方案
- 电池及电池系统维修保养师国家职业标准(2024年)
- 2.2 社会主义制度在中国的确立 课件高中政治统编版必修一中国特色社会主义
- 安全风险分级管控实施方案(5篇)
- 动火作业施工方案5篇
- 购货大米合同模板
- 2025年高考地理总复习知识梳理+训练:城市、产业与区域发展
评论
0/150
提交评论