spring

上传人:oq****t 文档编号:2686622 上传时间:2017-07-26 格式:TXT 页数:10 大小:13.57KB
返回 下载 相关 举报
spring_第1页
第1页 / 共10页
spring_第2页
第2页 / 共10页
spring_第3页
第3页 / 共10页
spring_第4页
第4页 / 共10页
spring_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《spring》由会员分享,可在线阅读,更多相关《spring(10页珍藏版)》请在金锄头文库上搜索。

1、1,什么是spring框架spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。2,架构概述1)IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。spring中有三种注入方式,一

2、种是set注入,一种是接口注入,另一种是构造方法注入。2)AOP面向切面编程aop就是纵向的编程,如下图所示,业务1和业务2都需要一个共同的操作,与其往每个业务中都添加同样的代码,不如 一 代码, 个业务共同使用这 代码。spring中面向切面 成的实现有 种方式,一种是 代理,一种是CGLIB, 代理 要 接口,CGLIB实现是有 。3, 什么使用spring框架在不使用spring框架 , 的service 中要使用dao 的对象,不 不在service 中new一个对象。如下 java view plaincopyprint?在CODE 代码 生 的代码 /dao 对象 public c

3、lass UserDao publicvoid insert(User user) /service 对象 public classUserService publicvoid insert(User user) UserDaouserdao = new UserDao(); userdao.insert(user); 在的 与 间的依赖。使用框架 java view plaincopyprint?在CODE 代码 生 的代码 /dao 对象 public class UserDao publicvoid insert(User user) /service 对象 public classUs

4、erService privateUserDao userdao; publicUserDao getUserdao() returnuserdao; publicvoid setUserdao(UserDao userdao) this.userdao= userdao; publicvoid insert(User user) userdao.insert(user); service 要用dao 对象需要配置 xml配置文件中,对象是么创建的,关系是么组合的都spring框架实现。4,框架currency1轻量级的容器框架“有入使用IoC容器加容fi组合对象fl接间关系,面向接口编程,

5、合Aop可以加容fi的进行 ,ocp”创建对象 是单例的,不需要使用单例 式进行理5, 业务依赖spring有的,依赖与spring。spring框架 )依赖注入 框架 2014-03-07 23:04 5449 (6) spring框架 三种注入方式, 是set注入,构造方法注入,接口注入。接口注入不作要,下面 种方式。1,set注入用 的set方法进行 化,就成 set注入。1) 通 。java view plaincopyprint?在CODE 代码 生 的代码 public class User privateString username; publicString getUsern

6、ame() returnusername; publicvoid setUsername(String username) this.username= username; 需要 的set方法, 文件中配置 框架 applicationContext.xml文件的beans。beans中添加bean, 定id,class ,id 不要 ,class 对象所在的 。bean添加property ,要 ,name 与User中对应的 一 。value 就是 要User中的username 的 。html view plaincopyprint?在CODE 代码 生 的代码 2)对象 同样 对象的s

7、et方法java view plaincopyprint?在CODE 代码 生 的代码 public class User private UserService userservice; public UserServicegetUserservice() returnuser; public void setUserservice(UserService userservice) this.userservice= userservice; 配置文件中要 加UserService的bean 及User对象对UserService 用。html view plaincopyprint?在CO

8、DE 代码 生 的代码 这样配置,框架就 UserService对象注入 User中。3)list合 同样 set方法java view plaincopyprint?在CODE 代码 生 的代码 public class User privateList username; publicList getUsername() returnusername; publicvoid setUsername(List username) this.username= username; html view plaincopyprint?在CODE 代码 生 的代码 zhang,san lisi wa

9、ngwu 4) 文件中的 java view plaincopyprint?在CODE 代码 生 的代码 public class User privateProperties props ; publicProperties getProps() returnprops; publicvoid setProps(Properties props) this.props= props; html view plaincopyprint?在CODE 代码 生 的代码 jdbc:oracle:thin:localhost:orl oracle.jdbc.driver.OracleDriver sc

10、ott tiger 中的key 是.properties 文件中的 注 什么 ,配置文件中的name 一定是和对象中 一 。2构造方法注入1)构造方法一个 数java view plaincopyprint?在CODE 代码 生 的代码 public class User privateString usercode; publicUser(String usercode) this.usercode=usercode; html view plaincopyprint?在CODE 代码 生 的代码 2)构造 数有 个 数 数 非 串 ,在配置文件中需要制定 ,如果不定 一律按照 串 。数 不

11、一 ,框架是按照 串的 进行 的,因此需要在配置文件中制定是 数的位置html view plaincopyprint?在CODE 代码 生 的代码 这样制定,就是构造 数中,第一个 数 string ,第 个 数 int spring框架四)自 装配 框架 2014-03-07 23:33 3155 (3) set注入和构造注入有 在配置 比较麻烦。所以框架 高”效率, 自 装配,简化配置。Spring框架式 不支持自 装配的,要想使用自 装配需要修改spring配置文件中的autowire 自 装配 有6个 可选, 代表不同的含义。1,byName从Spring中获取目对象 ,目对象中的

12、根据 在 个Spring中 的id 。如果有相同的,那么获取这个对象,实现关联。个Spring 表示所有的spring配置文件中 ,那么id不有重复的。2,byType从Spring中获取目对象 ,目对象中的 根据 在 个spring中 的class 。如果有相同的,那么获取这个对象,实现关联。 如果 在多个相同 的bean对象, 出错。如果 单一 的数据,那么 多个关联对象 ”生错误。如果 数组或合(泛 ) ,那么 多个关联对象不 ”生异常。3,constructor使用构造方法 成对象注入,其实也是根据构造方法的 数 进行对象 ,相 用byType的方式。4,autodetect自 选择

13、如果对象“有 数的构造方法,那么自 选择constructor的自 装配方式进行构造注入。如果对象含有 数的构造方法,那么自 选择byType的自 装配方式进行setter注入。 5,no不支持自 装配6,default表示 用 一级的自 装配的取 。如果 在多个配置文件的话,那么每一个配置文件的自 装配方式都是独立的。 如果配置文件 在多个的情况下,加载配置文件的方式 1)可以定总的配置文件包含子的配置文件, 加载总的配置文件即可在总的配置文件applicationContext.xml中使用import进行子文件包代码中加载配置文件 html view plaincopyprint?在CO

14、DE 代码 生 的代码 ApplicationContextac= newClassPathXmlApplicationContext(applicationContext.xml); 2)使用星号来匹配多个文件进行加载,文件 要 合规律。 (推荐使用)html view plaincopyprint?在CODE 代码 生 的代码 /配置文件的 applicationContext.xml applicationContext-action.xml applicationContext-service.xml applicationContext-dao.xml ApplicationContextac =newClassPathXmlApplicationContext(applicationContext*.xml); 3)可以使用数组作 数,一次加载多个配置文件html view plaincopyprint?在CODE 代码 生 的代码 Stringfiles=application

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号