文档详情

spring框架学习笔记(全).docx

发布:2019-02-18约5.98千字共14页下载文档
文本预览下载声明
spring 1.这个框架并不像hibernate或struts那样为了完成特定的功能(操作数据库、处理Http请求),它只是用来优化我们的工程的结果、提升设计、降低耦合度。 2.核心: 应用上下文ApplicationContext 它就是用来管理工程中无数类型的核心,一般通过xml文件或者注解来管理。它在启动时载入xml文件或注解中的类、类之间关系的信息,在使用时通过一些方式将管理的类型或对象取出使用。 3.(下载spring.zip,这里面包含了相应的jar包,以及文档) 第一个spring的应用: 1、导入jar包到工程中 2、在src下创建一个叫applicationContext.xml的配置文件 beans bean id=hello class=....Hello/bean bean id=bye class=.....Bye/bean /beans 比如通过上述方式,我们就通过配置文件将,两个类Hello和Bye分别注册管理,其代号分别为hello和bye。通过这两个代号,我们之后就能取出这个两个类的实例,并进行使用。(相应的类要Hello,Bye事先自己定义好) 3、使用ClassPathXmlApplicationContext来加载上一步中的xml文件,以及获取其中的某个bean ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);加载xml文件中的配置信息,两个类就被spring管理起来了Hello h = (Hello)ctx.getBean(hello); 注意:取出bean时可以用多态 4.开闭原则: 对扩展开放,对修改关闭 需求变更时,尽量扩展一个类,不要去修改原来的类;这样可以避免在原来正确的类上产生新的bug。 5.spring不但可以动态创建类的实例,也可以通过配置文件动态初始化实例的属性值 1、私有属性要有对应的setter方法 2、在bean中定义property属性,对应类中私有属性,*可以通过配置进行属性的自动设置。 bean id=cat class=p.Cat 在猫的bean中注册name属性,值为TOM property name=name value=Tom/property 注册age属性,值为10,Tom和10两个值会自动注入到猫的实例中去 property name=age value=11/property /bean *也可以通过构造方法来进行动态初始化 1、在类中定义需要自动调用的构造方法 2、在配置文件的bean中定义contructor-arg来使用构造方法进行属性值的初始化 bean id=pig class=p.Pig !-- 通过Pig的构造方法进行初始化,name是构造方法形参名,p是传入构造方法的实参 -- constructor-arg name=name value=p/constructor-arg !-- age是构造方法形参名,10是传入构造方法的实参 -- constructor-arg name=age value=10/constructor-arg /bean *可以和perties格式的配置文件结合使用 1、先要在配置文件中注册,载入一个perties文件的信息 bean class=org.springframework.beans.factory.config.PropertyPlaceholderConfigurer property name=locations value=classpath:perties/ /bean 2、可以在其他的bean中使用这个perties中定义的信息,比如: bean ..... property name=xx value=${zzz} /bean 这种spring的xml配置文件读取传统的perties配置文件的方式,将在以后数据源配置中经常使用,perties中全是数据源配置参数,而spring的上下读取这个perties,然后将其中的参数值,在bean中使用。这样两者各司其职,perties负责jdbc的数据信息,spring的xml文件负责处理bean的注册及bean之间的关系。 5.spring管理的类,属性的类型完全可以是自定义类型。这种情况下就设计到类和类之间的装配。如果是自定义类型的装配,那么property标签不再用value了,而用ref,比如: bean id=computer class=....Computer property n
显示全部
相似文档