spring学习总结-第一讲
来源:互联网 发布:nx网络验证源码 编辑:程序博客网 时间:2024/05/16 05:04
第一讲 Spring基本用法
一、spring入门
1、设值注入
- IOC容器通过成员变量的setter方法来注入依赖的对象。
- 在依赖的对象中要有setter方法。
Xml中配置:
- 如果A依赖于对象B,B的配置:
<bean id=”B” class=”cc.wsyw126.service.imp.B”/>
A的配置:
<bean id=”A” class=”cc.wsyw126.service.imp.A”/><property name=”变量名” ref=”B”/></bean>
- Id:指定该Bean的唯一标示
- class:指定该Bean的实现类,此处不可用接口类,必须用实现类。
- 如果A依赖于对象B,B的配置:
2、构造器注入
- 在构造实例时,完成依赖关系的初始化。
- 要有参数为依赖对象B的构造器。
XML配置:
A的配置:
<bean id=”A” class=”cc.wsyw126.service.imp.A”/><constructor-arg ref=”B”/></bean>
- B的配置同设值注入
二、Spring容器
- spring容器最基本的接口时BeanFactory,它有一个子接口ApplicationContext。
- ApplicationContext的实现类有:FIleSystemXmlApplicationContext,ClassPathXmlApplicationContext,AnnotationConfigApplicationContext。在web应用中经常使用xml和annotation这两个ApplicationContext。
使用BeanFactory创建BeanFactory的实例。
搜索类加载器路径下的beans.xml文件创建Resource对象
Resource isr = new ClassPathResource(“beans.xml”);
搜索文件系统的当前路径下的beans.xml文件创建Resource对象
Resource isr = new FileSystemResource(“beans.xml”);
a和b任选其一,后跟下面的代码
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();new XmlBeanDefinitionReader(beanFactory).loadBeanDefinitions(isr);
- 如果有多个配置文件,那么使用ApplicationContext创建BeanFactory的实例。
ApplicationContext appcontext = new ClassPathXmlApplicationContext(“beans.xml”,”service.xml”);
ApplicationContext appcontext = new FIleSystemXmlApplicationContext(“beans.xml”,”service.xml”);
- 类加载器目录:指的就是src目录。
三、让Bean获取它所在的Spring容器
- 可以让它实现BeanFactoryAware接口,在该接口中有一个方法:
setBeanFactory(BeanFactory beanFactory)
,这个参数指向创建它的BeanFactory。 - 实现ApplicationContextAware接口,在该接口中有一个方法:
setApplicationContext(ApplicationContext ctx)
,这个参数指向创建它的BeanFactory。 - 在国际化的时候,需要用ctx,所以这时候就需要获得ctx,就用这种方法。
四、Spring容器中的bean
- Bean的定义
- default-lazy-init:指定该
五、使用自动装配注入合作者的bean
- Spring的自动装配可以通过
六、spring配置数据源
- 有三种方式(dbcp,c3p0,jndi)
七、抽象bean和子bean
- 把多个< bean…/>配置中相同的信息提取出来,集中成模板,需要为该bean添加属性:abstract=”true”。
- 通过为子bean指定parent属性就可以指定该bean是一个子bean,parent属性指定该bean所继承的父bean的id。
八、强制初始化bean
- 指定属性depends-on=””
九、容器中bean的声明周期
- 依赖关系注入之后的行为:
- 使用init-method属性。配置xml中指定init-method,在类中添加方法init()。
- 实现InitializingBean接口。实现方法:afterPropertiesSet()。
- Bean销毁之前的行为:
- 使用destroy-method属性。配置init-method,在类中添加方法close()。。
- 实现DisposableBean接口。实现方法:destroy()。
- 创建实例->注入依赖关系->调用afterPropertiesSet->调用init-method方法->对外提供服务->调用destroy->调用destroy-method方法。
参考资料:
轻量级java ee企业应用实战(第4版)
备注:
转载请注明出处:http://blog.csdn.net/wsyw126/article/details/51744210
作者:WSYW126
0 0
- spring学习总结-第一讲
- spring学习总结-第二讲
- spring学习总结-第三讲
- spring学习总结-第四讲
- Spring框架学习(第一讲)
- Spring框架第一讲
- 第一讲 Spring简介
- Java学习总结第十天Java第一讲试讲总结
- 学习脱壳笔记总结:黑鹰之第一讲
- C++学习 第一讲
- 机器学习第一讲
- PCB学习第一讲
- JavaScript 学习 -- 第一讲
- 机器学习 第一讲
- 驱动学习第一讲
- 机器学习 - 第一讲
- OpenCV学习---第一讲
- 第一讲 Hello Spring MVC
- Fragment
- Java中获取当前运行代码的类名、方法名、行号
- mvc中 的@字符发生冲突
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
- Android webView 缓存 Cache + HTML5离线功能 解决
- spring学习总结-第一讲
- iOS base64编解码
- 【转】SpringMVC注解说明
- electron ubuntu镜像安装及入门
- 【codevs 1231】 最优布线问题
- termios结构体说明
- android studio导入本地aar包
- 说说JSON和JSONP,也许你会豁然开朗
- 我的第三方登陆代码和分享代码部分