- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
spring整理笔记
为什么要使用 Spring?
充斥了大量的单利和工厂,而且配置不够集中,没有统一的管理,迫切需要一种框架提供生命事物,重量级的东西侵入性高
Spring?最核心的东西IOC,控制翻转,对象之间有关系,依赖关系,对象可以自动穿件依赖
AOP 面向切面 可以对普通java对象提供声明式服务。
横切性技术 HIBERNATE 的拦截器 也是横切技术,EJB 和Spring?通常有个对比 EJB是重量级的 如果想提供服务 必须是EBJ主键 只要是普通java对象AOP逗可以提供服务,还可以和许多框架集成,Session的管理,事物的管理,对象的创建和管理 ,逗可以做,
我们只要专注于业务就可以了+++
IOC inversion of control (控制翻转)::由容器来管理对象之间的依赖关系(不是对象本身来管理)就叫控制翻转而传值过程就叫dependency injection (依赖注入) 就是一个大的工厂( 你发起的主动关系别人一变化你就你影响。他追你就不一样了,只提供set方法就射入进去了,没有侵入性主要体现在这里,只要提供set方法和构造函数就可以,离开spring也可以)
AOP
1:Spring 的依赖库
2:Copy spring 配置文件到SRC下
4:配置依赖关系(提供构造函数和set方法)
5:让spring 管理我们的对象创建和依赖,必须在Spring文件中进行配置和定义
6:编写客户端
Application.xml
bean
标签 id 唯一性的标识
配置依赖关系constructor-arg ref=
Ref 是一个引用 把ref 的东西传进来
注入没有依赖关系 提供时是标准的构造方法
bean id=UserEbi class=cn.jacass.test.use.business.ebo.UserEbo
property name=userDao ref=UserDao/propertySETTE方法
constructor-arg ref=userDao
ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);
UserEbi userEbi = (UserEbi)ctx.getBean(UserEbi);
BeanFactoryfactory factory=new ClassPathXmlApplicationC ontext(applicationContext.xml);
Factory.getBean(“UserEb”)
好处 (1:配置集中
2:不用大量的工厂和单例
3:配置AOP可以管理事物
4;跟Hibernate集成后session 不用管理)
构造方法和SET方法到底该用哪个?
参数比较少 用构造方法
参数比较多的时候用SET方法
构造方法会在new实现的时候传进来
已经new好了再传入进来
就是一个是时机的问题
Spring IOC容器的关键点
必须将管理的对象定义到Spring配置文件中
必须定义构造函数或者是SETTER 方法 让Spring讲对象注入进来
普通属性的注入
写一个VO 提供set和get方法
在application里边进行配置
bean id=”bean” class=”vo的路径”
property name=”id” value=”1”
property name=”name” //标签非常灵活 也可以那样写
value wangjiandong / value
/property
property name=”listvalue” //如果是list就用list标签,
list
value lsit1/value
value lsit2/value
/list
property
接下来写一个客户端
Public class case extends TestCase{
Private BeanFactory factory
Protected void setup()throws Exception{
Factory=new =new ClassPathXmlApplicationContext(“applicationContext.xml”);
}
Public void test(){
Bean1 bean 1=new (bean)factory.getBean(bean1);
System.oyt.println(“bean1.se ”+bean1.getname());
}
}
自定义属性编辑器(这个好向不长用 倒是后再查找吧
)
继承propert
文档评论(0)