- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring初学开发指导手册
1、spring是什么
struts是web框架
hibernate是orm框架
spring是容易框架,用于配置bean并维护bean之间关系的框架
bean:Java对象,Javabean/service/action/数据源/dao
ioc 控制反转 inverse of control di(dependency injection 依赖注入)
开发spring
1、引入spring开发包 spring把常用的jar包都包括了,还需要一个写日志的包,不能少
common-logging.jar
2、创建spring的核心文件 applicationContext.xml [hibernate hibernate.cfg.xml
struts核心文件 struts-config.xml] 该文件一般放在src目录下,该文件引入xsd文件
3.配置bean
4.怎么获取
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(applicationContext.xml);
UserService us = (UserService) applicationContext.getBean(userService);
us.sayHello();
5.细节讨论
使用spring,没有new对象,创建对象的任务交给spring框架
6.bean的嵌套
bean id=userService class=com.service.UserService
property name=name
value王瑜/value
/property
!-- 在userService中引用配置的另外一个bean --
property name=byeService ref=byeService/
/bean
bean id=byeService class=com.service.ByeService
property name=name value=wangyu/
/bean
7.Ioc 控制反转
答:Ioc,所谓控制反转就是把创建对象(bean)和维护对象的关系的权利
从程序中转移到spring的容器文件applicationContext.xml,把控制权反转
DI是什么?
答:依赖注入,实际上DI和Ioc是同一个概念
从MVC来看 V、C除外 其他都是Model层(DAO、业务层、持久层)模型层
8.优点,达到解耦的目的 spring提倡接口编程
体验spring配合DI接口编程 字母大小写转换的案例
思路:
1.创建接口 ChangeLetter
2.两个类实现接口
3.把对象配置到spring容器中
接口:
valiateUser
有个方法
check()
两个类去实现接口的check方法
bean作用域
1.singleton
2.prototype
以下web开发中才有意义
3.request 在一次http请求中,一个bean定义对应一个实例
4.session 在httpsession中 一个bean定义对应一个实例
5.global session 全局
bean的scope=singtelon时被创建一次
scope=prototype 只有用时才创建
三种获取applicationContext对象引用的方法
1、classPathXmlApplicationContext --通过类路径加载
2、FileSystemXmlApplicationContext --》通过文件绝对路劲来获取
3、XmlWebApplicationContext 从web系统中加载 tomcat启动时加载
bean的生命周期
Servlet java对象 hibernate
生命周期问题
1、实例化(当我们的程序加载beans.xml文件),把我们的bean
(前提是单态)实例化到内存
2.调用set方法设置属性
3.如果你实现了BeanNameAware,则可以通过setBeanName获取被实例的
bean的id号
4.如果你实现了BeanFactoryAware接口,则可以通过setBeanFactory获取
beanFactory
5.如果是实现了ApplicationContextAware接口,则可以拿到上下文
6.BeanPostProcessor的与初始化方法(这个地方不是接口)
AOP面向切面编程,可以针对所有的对象编程,比如日志管理,实例化时间等
7.如果自己在bean init-method=init 可以初始化自己定义的方法
二、装配
文档评论(0)