spring框架学习笔记(全)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

spring

1.这个框架并不像hibernate或struts那样为了完成特定的

功能(操作数据库、处理Http请求),它只是用来优化我们的工程的结果、提升设计、降低耦合度。

2.核心:

应用上下文ApplicationContext它就是用来管理工程

中无数类型的核心,一般通过xml文件或者注解来管理。它在启动时载入xml文件或注解中的类、类之间关系的信息,在使用时通过一些方式将管理的类型或对象取出使用。

3.(下载spring.zip,这里面包含了相应的jar包,以及文档)

第一个spring的应用:

1、导入jar包到工程中

2、在src下创建一个叫applicationContext.xml的配置文件

比如通过上述方式,我们就通过配置文件将,两个类Hello和Bye分别注册管理,其代号分别为hello和bye。

通过这两个代号,我们之后就能取出这个两个类的实例,并进行使用。(相应的类要Hello,Bye事先自己定义好)

3、使用ClassPathXmlApplicationContext来加载上一

步中的xml文件,以及获取其中的某个bean

ApplicationContextctx = new

ClassPathXmlApplicationContext("applicationContext.xml");

加载xml文件中的配置信息,两个类就被spring管理起来了Hello h = (Hello)ctx.getBean("hello");

注意:取出bean时可以用多态

4.开闭原则:

对扩展开放,对修改关闭

需求变更时,尽量扩展一个类,不要去修改原来的类;

这样可以避免在原来正确的类上产生新的bug。

5.spring不但可以动态创建类的实例,也可以通过配置文件动态初始化实例的属性值

1、私有属性要有对应的setter方法

2、在bean中定义property属性,对应类中私有属性,

*可以通过配置进行属性的自动设置。

在猫的bean中注册name属性,值为TOM

name="name" value="Tom">

注册age属性,值为10,Tom和10两个值会自动注入到猫的实例中去

*也可以通过构造方法来进行动态初始化

1、在类中定义需要自动调用的构造方法

2、在配置文件的bean中定义来使用构造方法进行属性值的初始化

*可以和xxx.properties格式的配置文件结合使用

1、先要在配置文件中注册,载入一个xxx.properties文件的信息

class="org.springframework.beans.factory.config.PropertyPla ceholderConfigurer">

value="classpath:xxx.properties"/>

2、可以在其他的bean中使用这个xxx.properties中定义的信息,比如:

这种spring的xml配置文件读取传统的xxx.properties 配置文件的方式,将在以后数据源配置中经常使用,jdbc.properties中全是数据源配置参数,而spring的上下读取这个jdbc.properties,然后将其中的参数值,在bean中使用。这样两者各司其职,jdbc.properties负责jdbc的数据信息,spring的xml文件负责处理bean的注册及bean 之间的关系。

5.spring管理的类,属性的类型完全可以是自定义类型。

这种情况下就设计到类和类之间的装配。如果是自定义类型的装配,那么property标签不再用value了,而用ref,比如:

class Keyboard{

}

class Computer{

private Keyboard keyboard;

//setter......

}

*自动装配:

这个autowire=bytype表示会自动扫描上下文中的类,如果有符合Tool这个类型的就自动装配

如果一个都不符合或有多个符合就会报异常

相关文档
最新文档