- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring基础精华
Spring(2.5)1.基础Spring是一个开源的控制反转(IOC)和面向切面(AOP)的容器框架。1.1控制反转(IOC)BookDao bookdao=new BookDaoImpl();BookDaoImpl是由应用维护和创建的。所谓控制反转就是应用本身并不负责对象的创建及维护,而是由外部容器负责。这样控制权就由应用转移到了外部容器,即所谓的反转。1.2依赖注入所谓依赖注入,就是在运行期间,由外部容器动态的将依赖对象注入到组件中去。 Public class BookServiceBean{Private BookDao bookdao;//通过构造器参数,让容器把创建好的对象注入进BookDaoBean,当然也可以用set方法进行注入;Public BookServiceBean(BookDao bookdao){This.bookdao=bookdao;} Public void save(Book book){bookdao.save(book)}}1.3为何使用spring降低组件之间的耦合度,实现各层之间的解耦提供众多服务,如:事务管理、消息服务、JMS服务、持久化服务等提供单例模式支持提供了AOP技术,利用它很容易实现权限拦截、运行期监控等功能提供众多辅助类,加速开发,如:JdbcTemplate、HibernateTemplate对于主流的应用框架提供了支持,如struts、hibernate、JPA等1.4环境搭建所需jar包配置文件模板实例化spring容器关闭spring容器:ctx.close()Spring的XML配置文件代码自动提示bean说明id、name都是给bean取名字;id不能包含特殊字符,name可以。class,指定bean指向的具体类。init-method:初始化创基bean实例时就调用的bean的方法destroy-method:销毁bean实例前调用的bean的方法(在销毁前关闭资源)获取bean实例,通过ApplicationContext的getBean(String id)方法获取bean实例2.Spring管理bean2.1.实例化bean的3种方式2.2.Bean的作用域及延迟初始化默认情况下spring创建对象是单例的,即多次getBean方法得到的是同一个Bean实例,默认的作用域为singleton(默认scope=”singleton”)。2.3.Bean的生命周期singleton范围的bean在spring容器(ApplicationContext)实例化时,就会被实例化。即bean的lazy-init的默认值为default。将lazy-init的值改为true时,就会在在调用genBean方法时,才实例化的。prototype范围的bean是在调用genBean方法时,才实例化的。init-method:初始化创建bean时就调用的bean的方法destroy-method:销毁bean实例前调用的bean的方法(在销毁前关闭资源)2.4依赖注入的原理注入依赖对象(1)方式一:通过set方法Service中注入dao对象。上图中,property标签的ref指向service中要注入的bean的名称(bean的id、name),name指向service类中要注入的dao属性的名称;(2)方式二:通过内部beanproperty标签的,name指向service类中要注入的dao属性的名称;如果使用内部bean,则该bean只能为外部bean服务。其他bean不能使用。(3)方式三:通过构造器方式在constructor-arg标签中,index指的是构造器参数的索引,type指的是构造器参数指向的bean类,ref指的是参数指向的具体bean;如果参数为字符串,则没有type和ref,value指注入的字符串参数的值。(4)注解方式见注解注入基本类型 name属性要有get、set方法。注入集合类型(集合中元素为字符串)2.5手工装配—--自动装配手动装配,如上面的xml依赖注入和下面注解中的@Resource和@Autowired依赖注入。建议开发中使用手动装配。自动装配,在xml中的bean标签中配置。不推荐使用。3.注解3.1依赖注入3.2自动扫描bean组件如果项目中的bean很多,xml就会显得臃肿。可以通过自动扫描来给xml减肥。这些注解是在类上的,不是在接口上的。。。bean默认名称。生成的bean的名称默认为bean类简单类名的首字母小写。指定生成的bean实例的名称。如@Service(“personservice”),@Repository(“persondao”)
您可能关注的文档
- 软件工程(pankaj jalote版)第6章软件设计(上).ppt
- PowerPoint 2003制作幻灯片1.ppt
- 演示文稿制作软件PowerPoint2003.ppt
- 第12章:串行通信接口模块.ppt
- 初步认识PowerPoint 2003.ppt
- 40G 100G接口、光模块介绍.ppt
- 第二章 药典概况 一、药品质量标准.ppt
- 第三节 毒物动力学.ppt
- 第八章 双变量统计描述之三 ——方差分析.ppt
- 第四章 直接人工费用的核算.ppt
- 安徽省滁州中学2023-2024学年高三第二次模考数学试题文试题.doc
- 安徽省师大附中2023-2024学年高中毕业班第一次诊断性检测试题数学试题理试题.doc
- 安徽省六校教育研究会2024年高三教学质量检测试题(一)数学试题试卷.doc
- 安徽省铜陵市枞阳县枞阳县浮山中学2023-2024学年高三年级第二次质量检测试题(数学试题)试卷.doc
- 安徽省亳州市重点中学2023-2024学年高考第一次模拟测试数学试题.doc
- 安徽省肥东高级中学2024年高三第三次适数学试题.doc
- 安徽省合肥市三十五中2024届高三双基测试数学试题.doc
- 安徽省定远县炉桥中学2023-2024学年高考模拟调研卷数学试题(二).doc
- 安徽省滁州市西城区中学2024届高三第一次联考数学试题试卷.doc
- 安徽省阜阳市太和中学2024年高三下学期第十四次周考数学试题(A)试卷.doc
文档评论(0)