ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:67.79KB ,
资源ID:3377493      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3377493.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(spring复习笔记.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

spring复习笔记.docx

1、spring复习笔记spring:业务层框架,管理bean的,核心组件是容器。spring方式打印helloworld业务类:GreetingService.javapackage com.spring.demo.spring1;/* * author xuyh * date 2013-6-18 下午11:16:06 * version v1.0 * description 问候服务类 */public class GreetingService private String greeting; public String getGreeting() return greeting; publ

2、ic void setGreeting(String greeting) this.greeting = greeting; public void sayHello() System.out.println(hello: + greeting); maven配置文件: pom.xml 4.0.0 com.spring.demo spring1 0.0.1-SNAPSHOT jar spring1 http:/maven.apache.org UTF-8 junit junit 4.11 org.springframework spring-core 3.1.4.RELEASE org.spr

3、ingframework spring-beans 3.1.4.RELEASE org.springframework spring-aop 3.1.4.RELEASE org.springframework spring-context 3.1.4.RELEASE Spring 配置文件:ApplicationContext.xml 测试类 : GreetingServiceTestpackage com.spring.demo.spring1;import org.junit.Test;import org.springframework.beans.factory.BeanFactory

4、;import org.springframework.context.support.ClassPathXmlApplicationContext;public class GreetingServiceTest /* 传统方式打印helloworld */ Test public void testSayHello() GreetingService gs = new GreetingService(); gs.setGreeting(xuyh); gs.sayHello(); /* spring方式打印helloworld */ Test public void testSayHello

5、Spring() BeanFactory bf = new ClassPathXmlApplicationContext(ApplicationContext.xml); GreetingService gs = (GreetingService) bf.getBean(greetingService); gs.sayHello(); 更多的属性或对象package com.spring.demo.spring1;/* * author xuyh * date 2013-6-18 下午11:16:06 * version v1.0 * description 问候服务类 */public cl

6、ass GreetingService private String greeting; private String greeting2; private ByeService byeService; public String getGreeting() return greeting; public void setGreeting(String greeting) this.greeting = greeting; public void sayHello() System.out.println(hello: + greeting); public String getGreetin

7、g2() return greeting2; public void setGreeting2(String greeting2) this.greeting2 = greeting2; public void sayHello2() System.out.println(hello: + greeting2); public ByeService getByeService() return byeService; public void setByeService(ByeService byeService) this.byeService = byeService; public voi

8、d sayGreetingBye() byeService.sayBye(); package com.spring.demo.spring1;/* * author xuyh * date 2013-6-18 下午11:16:06 * version v1.0 * description 欢送服务类 */public class ByeService private String bye; public String getBye() return bye; public void setBye(String greeting) this.bye = greeting; public voi

9、d sayBye() System.out.println(bye: + bye); package com.spring.demo.spring1;import org.junit.BeforeClass;import org.junit.Test;import org.springframework.beans.factory.BeanFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;public class GreetingServiceTest /* 传统方式打印hello

10、world */ Test public void testSayHello() GreetingService gs = new GreetingService(); gs.setGreeting(xuyh); gs.sayHello(); static BeanFactory bf = null; BeforeClass public static void before() /整个类只运行一次 bf = new ClassPathXmlApplicationContext(ApplicationContext.xml); /* spring方式打印helloworld */ Test p

11、ublic void testSayHelloSpring() GreetingService gs = (GreetingService) bf.getBean(greetingService); gs.sayHello(); gs.sayHello2(); /* spring方式打印第二个类ByeService */ Test public void testSayByeSpring() ByeService bs = (ByeService) bf.getBean(byeService); bs.sayBye(); /* spring类依赖 */ Test public void tes

12、tSayGreetingByeSpring() GreetingService gs = (GreetingService) bf.getBean(greetingService); gs.sayGreetingBye(); spring IOC1ioc:inverse of coutrol,控制反转,获得依赖对象的方式反转了。a.new 由spring完成b.set组装对象由spring完成。并且顺序相反了。即不必先初始化被依赖类。c.DI: dependency injection,依赖注入2. Bean工厂 BeanFactory:创建各种类型的Bean,功能单一,只能组装对象;Bean

13、工厂只把Bean的定义信息载进来,用的时候才去实例化。BeanFactory bf = new XmlBeanFactory(new FileInputStream(“bean.xml”);这样可以节省资源。当资源有限,如手机等,可以用BeanFactory ApplicationContext:应用上下文,除了BeanFactory的DI功能外,还有系统架构的服务。它也不是实例化所有的Bean,它只加载所有的单例Bean。使用bean元素的scope=”singleton”;与之相对的是scope=”prototype”即原型Bean;spring的单例与java设计模式单例是不一样的。Sp

14、ring单例是逻辑上约束的,java设计模式是物理约束的。Application:1、提供文本信息解析工具2、提供载入文件资源的通用方法,如图片3、可以向注册为监听器的Bean发送事件在很少情况下使用BeanFactory如在移动设备。它有三种经常使用的实现:1、ClassPathXmlApplicationContext 类路径中加载2、FileSystemXmlApplicationContext 系统文件3、XmlWebApplicationContext 在web环境中加载将bean从工厂中删掉有两种方法:1)若bean实现了DisposableBean接口,distroy()方法被调

15、用。2)在bean元素中配置 destroy-method= 另外,可以使用获得应用上下文的引用:public class GreetingService implements BeanNameAware,BeanFactoryAware,ApplicationContextAware . Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException System.out.println(setApplicationContext():+applic

16、ationContext); 生命周期图例:其实初始化与销毁有两种方法,一种是配置,一种是实现接口,推荐前一个,更为轻量。InitializingBean/init-methodDisposableBean/destroy-method两者不冲突,共存时接口为先。scope=”singleton|prototype|request|session|global session”前两者常用,后三者为web中的范围。生命周期bean被载入到容器时,他的生命周期就开始了。bean工厂在一个bean可以使用前完成很多工作:1)容器寻找bean的定义信息并实例化。2)使用依赖注入,spring按bean

17、定义信息配置bean的所有属性。3)若bean实现了BeanNameAware接口,工厂调用bean的setBeanName()方法传递bean的ID。4)若Bean实现了BeanFactoryAware接口,工厂调用setBeanFactory()方法传入工厂自身。5)若BeanPostProcessor和bean关联,则它们的postProcessBeforeInitialization()方法被语源。6)若bean指定了init-method方法,则它将被调用。7)最后,若有BeanPostProcessor和bean关联,则它们的postProcessAfterInitializati

18、on()方法被调用。解释:1)实例化,测试在空的构造函数中打印:new GreetingService()2)DI注入:测试在三个set方法中打印:DI: setGreeting():gaopanDI: setGreeting2():tomDI: setByeService():com.spring.demo.spring1.ByeService289d2e3)BeanNameAware:如果想获取bean的id的话:public class GreetingService implements BeanNameAware . Override public void setBeanName(

19、String name) System.out.println(BeanNameAware setBeanName():+name); BeanNameAware setBeanName():greetingService4)BeanFactoryAwar:Bean工厂关注,如果想获取BeanFactory的引用,当使用此接口public class GreetingService implements BeanFactoryAware . Override public void setBeanFactory(BeanFactory beanFactory) throws BeansExce

20、ption System.out.println(BeanFactoryAware setBeanFactory:+beanFactory); BeanFactoryAware setBeanFactory:org.springframework.beans.factory.support.DefaultListableBeanFactory401369: defining beans greetingService,byeService; root of factory hierarchy5)BeanPostProcessor:Bean后处理器,用于对Bean进行批处理。类似于web中的过滤

21、器Filter。/* * author xuyh * date 2013-6-20 下午11:21:39 * version v1.0 * description Bean的后处理器 */public class MyBeanPostProcessor implements BeanPostProcessor /* * 前置后处理器 */ Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException System.out.println(pos

22、tProcessBeforeInitialization():+beanName); return bean; /* * 后置后处理器 */ Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException System.out.println(postProcessAfterInitialization():+beanName); return bean; .postProcessBeforeInitialization():byeServicep

23、ostProcessAfterInitialization():byeService.postProcessBeforeInitialization():greetingServicepostProcessAfterInitialization():greetingService.可见后处理器对所有的Bean进行后处理。使用场景:对于集合的初始化6)调用bean的定制的初始化方法init-method如果bean配置了init-method方法,则会在后处理器的前后之间被调用。 public class GreetingService implements BeanNameAware,BeanFactoryAware . publi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1