文档库 最新最全的文档下载
当前位置:文档库 › spring框架学习笔记(全)

spring框架学习笔记(全)

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

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这个类型的就自动装配

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

class="com.oracleoaec.autowired.Human"autowire="byType">

class="com.oracleoaec.autowired.Hammer">

如果有多个匹配就会报异常,可以用autowire-candidate=false 来将某些bean排除:

class="com.oracleoaec.autowired.Knife"autowire-candidate="fa lse">

1.AOP 面向切面编程

是一种思想,struts有,spring也有

2.如何用spring实现?

1、导入相关的jar包

2、先定义一个目标类(其中有核心的逻辑,但共同的逻辑将会通过切面在切入点切入)

3、再定义一个切面Aspect操作类,在里面写上要重复切入到目标的逻辑

4、写配置文件,关键要配置,

after-returning和after类似,after是在方法逻辑执行完执行,after-returning是在方法返回后执行,核心区别是如果在方法中产生了异常,after是不会执行的,但after-returning会。

after-throwing是在遇到异常时执行method中的方法

定义一个方法,有参数ProceedingJoinPoint,在里面写上前置、后置的逻辑,并在之间调用jp.proceed(),也可以灵活的通过条件判断决定是否要调用jp.proceed().

proceed()的返回值就是方法的返回值

jp.getArgs()返回一个Object数组,就是被代理的方法的参数值(如果根本没有参数,就返回一个长度为0的数组)

注解AOP

*在配置文件中激活自动代理

*在切面类(比如刚才那个例子中就是FileOperation)的类定义上面写上@Aspect注解,然后在这个切面类的方法上定义注解,前置注解@Before,后置注解@After,环绕注解@Around。在这些注解里面还可以定义切入点point-cut,并写上类似execution(* com.oracleoaec.*.*())表达式。

AOP的基石----动态代理模式

代理模式

一、静态代理

被代理类(目标类)

代理类

1、目标类和代理类具有相同的接口

2、代理类中定义有一个属性,类型就是目标类(或者说代理类持有一个目标类对象的引用)

3、代理类的接口方法中会调用目标类的接口方法,并在其基础上添加一定的额外功能

静态代理必须事先知道目标类,才能再定义代理类

二、动态代理

1、JDK自带动态代理功能,InvocationHandler接口、Proxy

a、定义一个类实现InvocationHandler,并实现其抽象方法,并传入被代理的对象(目标对象)

b、Proxy.newProxyInstance(....)创建代理对象

所谓动态代理,就是在定义代理逻辑时,根本不需要知道未来被代理的是什么类,什么方法

而静态代理必须事先知道一些信息

注意:JDK的动态代理的目标类,必须实现接口

2、cglib动态代理,目标类完全可以不实现任何接口

a、定义一个类实现MethodInterceptor接口,实现其抽象方法

b、创建一个Enhancer对象

调用其setSuperClass方法,传入被代理的目标类

调用setCallback方法,传入a中定义的类的实例,也就是要回调的代理逻辑

c、调用这个Enhancer对象的create方法,产生一个代理对象

1.spring和数据库

spring可以用bean的方式配置数据源datasource

dbcp、c3p0、纯jdbc(也勉强可以算一种数据源,只是没有连接池而已)

配置完后,可以像之前普通类一样通过getBean取出连接池对象。再用getConnection()获取连接....

spring 提供了默认的模板JdbcTemplate来处理大量重复的jdbc操作,这个JdbcTemplate也可以注册在applicationContext.xml文件中,注册成一个bean,而这个JdbcTemplate的bean内部又要包含一个DataSource的bean,比如类似:

id="dataSource"class="https://www.wendangku.net/doc/956782784.html,boPooledDa taSource" destroy-method="close">

value="${jdbc.driverClassName}"/>

ref="dataSource">

...........

以上标签就将数据源装配jdbc的模板上。

2.模板包含数据源,而一般Dao包含模板对象

ref="jdbcTemplate">

ref中的jdbcTemplate表示上下文中定义的模板bean的id name中的jdbcTemplate表示这个Dao类中定义的属性名,要一致

dao一般注入业务层、service、biz。可以使用spring的依赖注入,在Service中定义一个private的dao属性和public的setter方法,在xml中声明,让其自动注入。

spring声明式事务(不用编码,只用配置文件或者注解就自动进行事务控制)

默认的事务处理逻辑,只要遇到运行时异常就会自动回滚,没有遇到任何异常,会自动提交。

通过rollback-for可以配置遇到什么异常回滚

propagation事务传播机制

REQUIRED 需要事务,如果当前存在事务,就使用当前事务,如果不存在就自动开启事务

REQUIRES_NEW 每次都会开启一个新事务

NOT_SUPPORTED 不需要事务,如果没有事务,就直接执行;原来就有事务的话就挂起原来的事务,执行完这段逻辑再恢复

NEVER 从不,如果没有事务,就正常执行;如果有,就抛异常

一般最常用的是REQUIRED,保证有且只有一个事务运行如果是纯查询的话,可以使用NOT_SUPPORTED结合READ-ONLY=true

注解事务

首先要在xml文件中声明

打开注解驱动的事务管理

接下来就可以在需要自动事务管理的方法上,加上

@Transactional进行事务控制

Sofa学习总结

Sofa学习总结 作者版本时间 吕方V0.0.12008-11-13

1.搭建sofa平台运行环境: 首先需要对从confluence中下载一个支持包,地址: https://www.wendangku.net/doc/956782784.html,:8080/pages/viewpage.action?pageId=3703045 或者直接使用链接: https://www.wendangku.net/doc/956782784.html,:8080/download/attachments/3703045/sofa-cor e-archetype.zip 下载后解压工程,然后Maven打包并install到本地资源仓库中。如果没有将这个小工程放到Maven的本地资源仓库中则后面操作都会有很多小麻烦。接下来开始建立一个小的sofa平台: step1:运行命令:E:\>mvn ar chetype:generate-DarchetypeCatalog=local 运行后命令行内容提示如下: step2:根据提示,输入信息如下:Choose a number:(1):1 继续执行,提示输入内容如下:Define value for sofa_app_name::demo 继续执行,提示输入内容如下:Define value for ar tifactId::demo 继续执行,如果不想改变版本信息,就直接留空不用输入任何信息,直接往下执行。 运行后命令行提示内容如下:

step4:生成eclispe工程,导入IDE,可以导入9个子工程。其中demo-test-test工程用于测试 step5:对com.alipay.sofa.demo.test.service.T estDemoCalcFacade类进行修改。 找到代码: 修改后如下: 运行测试用例,进行环境测试。如果通过则说明平台搭建OK了。 2.demo-cor e-engine使用总结: a.关于demo-core-engine.xml: 其中扩展点名字为:executor 在生成好的demo中,engine向下提供了一个扩展点。所有的扩展点都被封装成了一个com.alipay.sofa.demo.cor e.engine.api.DemoCalcExecutorDescr iptor对象。 其中的annotation为各个扩展提供了配置的节点关系及相关属性。如DemoCalcExecutor Descr iptor类中:

SpringMVC深入总结

一、前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。 官方的下载网址是:https://www.wendangku.net/doc/956782784.html,/download(本文使用是的Spring 3.0.5版本) Struts2也是比较优秀的MVC构架,优点非常多比如良好的结构。但这里想说的是缺点,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降。Struts2的多层拦截器、多实例action性能都很好。可以参考我写的一篇关于Spring MVC与Struts2与Servlet比较的文章https://www.wendangku.net/doc/956782784.html,/admin/blogs/698217 Spring3 MVC的优点: 1、Spring3 MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。 2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分) 3、Spring3 MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。 Struts2的众多优点:略... (呵呵,是不是不公平?) 众多文章开篇时总要吹些牛,吸引一下读者的眼球,把读者的胃口调起来,这样大家才有兴趣接着往后看。本文也没能例外。不过保证你看了之后不会后悔定有收获。

马原知识点整理

1、什么是马克思主义?(P2-P3) (1)马克思主义是由马克思、恩格斯创立的,为他们的后继者所发展的,以批判资本主义、建设社会主义和实现共产主义为目标的科学理论体系,是关于无产阶级和人类解放的科学。它包括马克思主义哲学、马克思主义政治经济学和科学社会主义三个有机统一基本组成部分。 (2)①从创造者、继承者的认识成果讲,马克思主义是由马克思、恩格斯创立,由其后各个时代、各个民族的马克思主义者不断丰富和发展的观点和学说的体系;它既包括有马克思、恩格斯创立和列宁等发展了的马克思主义,也包括中国共产党人将其与中国具体实际相结合,不断推进马克思主义中国化的理论成果。 ②从阶级属性讲,马克思主义是无产阶级争取自身解放和整个人类解放的科学理论,是关于无产阶级斗争的性质、目的和解放条件的学说; ③从研究对象和主要内容讲,马克思主义是无产阶级的科学世界观和方法论,是关于自然、社会和人类思维发展一般规律的学说,是关于资本主义发展及其转变为社会主义以及社会主义和共产主义发展规律的学说。 2、思考并归纳意识能动作用及其表现、主观能动性与客观规律性的辩证关系。(P29-P33) (1)意识的能动作用及其表现:①辩证唯物主义在坚持物质决定意识,意识依赖于物质的同时,又承认意识对物质有能动作用。②意识的能动作用是人的意识所特有的积极反映世界和改造世界的能力和活动。表现为如下四个方面:第一,意识具有目的性和计划性。人反映世界时会表现出主体选择性。第二,意识活动具有非凡创造性。人能在思维中建构一个现实中没有的理想世界。第三,意识具有指导实践改造客观世界的作用,可变客观为现实。第四,意识具有指导、控制人的行为和生理活动的作用。 (2)主观能动性与客观规律性的辩证关系:首先,发挥人的主观能动性必须以承认规律的客观性为前提。必须尊重客观规律,认识和改造自然界,要尊重自然界的规律;认识和改造社会,要尊重社会规律。其次,只有正确发挥主观能动性,才能正确认识和利用客观规律。在尊重客观规律的基础上,要充分发挥主观能动性。否认人的主观能动性,必然导致对人的价值性的否定,导致对历史发展动力的否定。 3、当前中国一再强调走中国特色社会主义道路,试结合有关矛盾原理谈谈看法。(P42-P43) (1)矛盾的普遍性与矛盾的特殊性是辩证统一的关系的基本原理。矛盾的普遍性即矛盾的共性,矛盾的特殊性即矛盾的个性。矛盾的共性是无条件的、绝对的,矛盾的个性是有条件的、相对的。任何现实存在的事物的矛盾都是共性和个性的有机统一,共性寓于个性之中,没有离开个性的共性,也没有离开共性的个性。矛盾的共性和个性、绝对和相对的道理,是关于事物矛盾问题的精髓,是正确理解矛盾学说的关键。 (2)矛盾的普遍性和特殊性辩证关系的原理是马克思主义的普遍真理同各国的具体实际相结合的哲学基础,也是建设中国特色社会主义的哲学基础。21世纪,掌握矛盾普遍性和特殊性辩证关系的原理,把马克思主义同我国的实际和时代特征结合起来,努力推进中国特色社会主义的实践创新、理论创新和制度创新,是我们面临的重大课题。 (3)中国特色社会主义,既坚持了科学社会主义基本原则,又根据时代条

Spring MVC使用总结

Org . springframework . ui . ModelMap传递数据供视图所用 ${base}取的是当前页面所在的路径。它随页面的位置改变而改变。 web开发一共有四个作用域,范围从高到低分为appliaction作用域(全局作用域),session 作用域,request作用域和page作用域。 ${base}是el表达式语法,它会自动先从page作用域开始查找,如果没有再找request作用域,然后是session,最后再是application作用域。 动态网页项目,页面直接访问的是webcontent下的。 Weblogic.xml配置文件作用: weblogic.xml主要配置web容器的一些属性,比较JSP编译时间间隔、编译路径等web.xml是配置整个应用工程的属性,如servlet等 你用tomcat jboss等web容器和weblogic一样,它们单独有自己的配置文件 视图解析器 SpringMVC用于处理视图最重要的两个接口是ViewResolver和View FreeMarkerViewResolver 是继承自springmvc的一个接口,只是和freemarker同名而已 XmlViewResolver 貌似工具库里面定义好了(如ftl、分词库),然后在common中用 <@s.m "error.errorMessage"/>什么意思?? 视频 spring mvc freemarker

金磊https://www.wendangku.net/doc/956782784.html,/jinlei/index.jhtml 怎么发布到网上(FTP??) 搭个‘Android Lib安卓库’网站(有论坛、博客、下载、尚学宝) 1、界面 QQ互联 https://www.wendangku.net/doc/956782784.html,/article/5225f26b0ed354e6fb09085d.html 今天问题 VECTOR- 脚本语言- 注解-- 为什么frame要经过FrameAct.java一下,再返回?? @Controller是spring的Controller控制器? 为什么我新建的html是 别人是 <body>浏览器不支持Frames框架时显示的内容</body> jar包 apache下的jar包 apache-ant-zip-1.8.0.jar(ant是什么??它的jar包??ant是脚本引擎,脚本语言有

发展经济学讲义

D e v e l o p m e n t e c o n o m i c s 《发展经济学》讲义 参考书目:《发展经济学》——增长与发展经济学译丛 [美]Debraj ray着陶然等译北京大学出版社 2002年10月第1版 黄景贵院长教授博士 孙建军副教授博士 目录 第一讲导论 第二讲经济发展:概览 第三讲经济增长 第四讲新增长理论 第五讲历史、预期和发展 第六讲经济不平等 第七讲不平等和经济发展:相互的联系 第八讲贫困与营养不良 第九讲人口增长与经济发展 第十讲农村和城市 第十一讲农业中的市场:一个初步的介绍 第十二讲土地 第十三讲劳动 第十四讲信贷 第十五讲保险 第十六讲国际贸易 第十七讲贸易政策 第十八讲贸易政策的多边方法 序言 发展经济学是研究发展中国家经济转变的学科,本讲义提供了发展经济学的一个介绍。 本讲义主要面向高年级的本科生,帮助他们学习初级或中级经济理论、运用现代主流经济学的统一分析框架对各种发展问题作深入浅出的分析。尤其在方法论上,本讲义结合近年来经济理论在不完全信息、契约理论、博弈论和新增长理论等方面的最新进展,分析发展中国家的经济发展问题。 本讲义将对学生数学的要求降到了最低。具体而言,不使用微积分,而尝试主要通过语言、图表来说明问题,有时也使用基础代数来讲解有关理论。 第一讲导论 一、两个定义 发展经济学:研究发展中国家经济转变的学科(debraj ray,2002)。 发展中国家(developing country):人均年收入低于9000美元的国家,而高于9000美元的国家称为发达国家(developed country)。——世界发展报告(world bank,1996) 二、本讲义的思维框架——贯穿两条主线: 1、或多或少地远离一个传统观点:即发展中国家问题只有在其所处的国际环境中才能得到最好的理解; 2、关于方法论的,尽可能用统一的分析方式来研究经济发展的问题,并在市场失灵与政府干预的可能性方面取一

2.Spring-mvc框架结构及执行流程

Spring mvc架构及执行流程一、请求处理流程图 二、执行流程说明 三、组件说明

说明:在springmvc的各个组件中,处理器映射器、处理器适配器、视图解析器称为springmvc 的三大组件。 需要用户编写的组件有handler、view 四、Spring MVC配置 1、组件扫描器:使用组件扫描器省去在spring容器配置每个controller类,使用 自动扫描标记@controller的配置如下:

2、RequestMappingHandlerMapping:注解处理器映射器,对类中标记@RequestMapping 的方法进行映射,根据RequestMapping定义的url匹配RequestMapping标记的方 法,匹配成功返回HandlerMethod对象给前端控制器,HandlerMethod对象中封装 注解描述: @RequestMapping:定义请求url到处理器功能方法的映射 3、RequestMappingHandlerAdapter:注解式处理器适配器,对标记@RequestMapping 的方法进行适配。 从spring3.1版本开始,废除了AnnotationMethodHandlerAdapter的使用,推荐使用 4、:spring mvc 使用自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter,可用在spring-mvc.xml 配置文件总使用替代注解处理器和适配器的配置。 5、视图解析器 InternalResourceViewResolver:支持JSP视图解析 viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,所以classpath中必须包含jstl 的相关jar 包。此属性可以不设置,默认为JstlView。 prefix 和suffix:查找视图页面的前缀和后缀,最终视图的址为:

WEB框架总结

概述 开发框架的选择,始终是个仁者见仁、智者见智的事情。尤其是Web层的开发框架,数量非常多,而且各有特色,如:Struts、WebWork、Spring MVC、Tapestry、JSF、WebPage3.0......等等。他们各自的优、缺点: 框架使用背景 一:使用框架的必然性 框架,即framework。其实就是某种应用的半成品,把不同应用程序中有共性的一些东西抽取出来,做成一个半成品程序,这样的半成品就是所谓的程序框架。 软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。这样每次开发就不用白手起家,而是可以在这个基础上开始搭建。 使用框架的最大好处:减少重复开发工作量、缩短开发时间、降低开发成本。同时还有其它的好处,如:使程序设计更合理、程序运行更稳定等。基于这些原因,基本上现在在开发中,都会选用某些合适的开发框架,来帮助快速高效的开发应用系统。 了解了使用框架的必然性,下面来看看如何选择,当然我们的话题集中在Web层的开发框架。在谈这个问题之前,先来看看我们在Web开发中究竟需要做些什么工作: 二:Web层开发的工作 在J2EE开发中,分层是基本的思想,3层架构或者多层架构早已深入人心,在这里我们就把目光集中到Web层,看看到底Web层开发做了那些工作: 1:数据展示 Web层需要从逻辑层获取需要展示的数据,然后以合理的方式在页面进行展示 2:人机交互 用户需要从界面上输入数据,在界面上进行按钮点击,进而触发事件,标准的事件驱动模型,然后跟后台进行数据交换,出现新的界面。 3:收集数据,调用逻辑层接口 Web层收到用户的事件请求,需要调用相应的逻辑层接口来进行处理,Web层是不会有任何逻辑处理的。调用逻辑层接口,需要传递参数,这时需要收集用户在界面上输入的数据,然后进行组织,组织成为逻辑层接口需要的数据封装形式(通常都是ValueObject)。 4:根据逻辑层的数据来重新展示页面 逻辑层处理完了,需要返回数据或信息到界面上。这个时候Web层需要根据返回的值选择合适的页面,然后展示这些数据或者信息。 从上面可以看出,Web层开发的主要工作集中在展示上,也就是图形用户界面。这一部分是用户直观感受应用程序的窗口,也是用户要求最多的地方,其表现形式也是最丰富的。 三:Web层开发的步骤 下面再来总结一下Web层开发的大致步骤(也就是需要开发人员做的工作): 注意:这里讨论的Web层开发,是不使用任何开发框架时候的开发。 1:写页面Html,到底有哪些数据需要在界面上表现

springmvc原理

1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 6.视图对象负责渲染返回给客户端。 为什么要使用Spring: AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用AOP后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词倒置所表明的,IOC 就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。 Spring即使一个AOP框架,也是一IOC容器。Spring 最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。 Spring 框架是一个分层架构,由7 个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean 的方式,如图 1 所示。 组成Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 Spring 上下文:Spring 上下文是一个配置文件,向Spring框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring 框架管理的任何对象支持AOP。Spring AOP

马原前三章知识点

1,马克思主义: 生命力的根源:以实践为基础的科学性与革命性的统一; 最鲜明的政治立场:马克思主义政党的一切理论和奋斗都应该致力于实现以 劳动人民为主体的最广大人民的根本利益; 最重要的理论品质:坚持一切从实际出发,理论联系实际,实事求是,在实 践中检验真理和发展真理; 最崇高的社会理想:实现物质财富极大丰富,人们精神境界极大提高,每个 人自由而全面发展的共产主义社会; 2,物质与意识谁是本源——唯物主义与唯心主义 思维与存在有无同一性——可知论(有)与不可知论(无) 社会存在与社会意识的关系——唯物史观与唯心史观 回答世界是怎样存在的问题——辩证法(联系的发展的观点)与形而上学 (孤立的静止的观点) 是否承认对立统一学说——唯物辩证法(承认)与形而上学 唯物辩证法——是认识世界和改造世界的根本方法;(矛盾分析法是其根 本方法) 唯心主义宿命论——只强调必然性而否定偶然性; 唯心主义非宿命论——只强调偶然性而否定必然性; 辩证决定论——坚持必然性与偶然性的辩证统一; 主观唯心主义——认为人的认识是主观自生的; 客观唯心主义——人的认识是上帝的启示或绝对精神的产物; 3,运动 世界是物质的,物质是运动的,运动是物质的普遍状态; 运动是物质的根本属性与存在方式;时间和空间是物质运动的存在形式; 不运动的物质导致形而上学;无物质的运动导致唯心主义; 无条件的绝对运动和有条件的相对静止构成了事物的矛盾运动; 4,意识 意识是物质世界长期发展的产物; 是人脑的技能和属性(人脑是意识产生的物质基础); 意识的源泉是客观世界; 社会实践(劳动)在意识的产生和发展中起决定性作用; 5,量变质变规律——揭示了事物发展形式和状态(量变与质变的依次更替);

区域经济学知识点总结

区域经济学 第一二章 1.基本概念:区域、区域经济、区域经济学 区域:区域经济学的研究对象 区域是区域经济学研究的起点。它是一个多维度、多层次的概念,对其进行界定或定义,需要从地理学、政治学、经济学等多学科的角度出发。 地理学的区域概念:地理学时最早提出区域概念的学科。为了便于考查,地理学把地球空间按照其相互关系进行分类,或者是区分,并用一定的事先设定的法则,将其划分为各种区域,诸如海洋区、陆地区、高原区,平原区、丘陵区等等。由于每一类区域不同的特征以及温度、降雨和生物物种分布等的巨大差异,使每一个区域的内容更加丰富和更多样化。 地理学对区域研究的贡献,是把区域定义为地球表面的一个地域单元。 政治学的区域概念:政治学是从行政管理的角度去观察和分析各种不同的地点,根据人口居民点和社会经济活动的位置及分布状况,划分系统的地方单元。政治学中的区域不但表示地理区域的概念,而且还包含地方公民间的文化联结、惯例认同、心理归属、民族历史、社会经济关系等意义。 政治学对区域研究的贡献,是把区域定义为行政管理的一个地方单元。 社会、文化区域:根据人类社会活动的特征,在人口、民族、宗教、语言、

政治等因素交互影响下而产生的附加在自然景观上的“人类活动形态”——文化景观特定性质的相似性和差异性而划分出来的地域单元,如华人文化圈、东方文化圈、穆斯林文化圈等; 经济学的区域概念:经济学的区域概念就是区域经济学的区域概念。经济学的区域是在地理学和政治学关于区域概念的基础上,考虑某个地域空间的人口、经济、资源、环境、公共设施和行政管理的特点,是居民高度认同、地域完整、功能明确、内聚力强大的地域单元。 它一般以两种形式存在:同质区域和极化区域。 区域的特征:内在整体性、空间界线的客观性与模糊性 区域经济:区域的经济活动和经济关系的总和。 如果我们把全国的国民经济看做是一个整体,那么区域经济就是整体的一部分,是国民经济整体不断分解的结果。 区域经济的特点包括: 区域性——区域经济最根本的特点 非均衡性 阶段性和连续性 开放性

学习SpringMVC系列教程(一)Spring MVC入门

2.1、Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的Web框架在此就不介绍了,如Tapestry、JSF等。 Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 2.2、Spring Web MVC能帮我们做什么 √让我们能非常简单的设计出干净的Web层和薄薄的Web层; √进行更简洁的Web层的开发;

√天生与Spring框架集成(如IoC容器、AOP等); √提供强大的约定大于配置的契约式编程支持; √能简单的进行Web层的单元测试; √支持灵活的URL到页面控制器的映射; √非常容易与其他视图技术集成,如Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用); √非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API; √提供一套强大的JSP标签库,简化JSP开发; √支持灵活的本地化、主题等解析; √更加简单的异常处理; √对静态资源的支持; √支持Restful风格。 2.3、Spring Web MVC架构

《马原》各章核心知识点归纳

绪论、主干知识点 1.马克思主义的根本特征?马克思主义的精髓? 实践基础上的科学性的革命性的统一,是马克思主义的根本特征。 马克思主义的立场,观点和方法,是马克思主义的精髓。 2、马克思主义的三大组成部分及其直接理论来源? 组成部分:1.马克思主义哲学;2.马克思政治经济学;3.科学社会主义。来源:1德国古典哲学;2.英国古典政治经济学;3.法国,英国空想社会主义哲学。 3、马克思一生的两大发现? 唯物史观;剩余价值论 第一章、主干知识点 1.什么是哲学?哲学的基本问题及其内容? 哲学是系统化,理论化的世界观,又是方法论。 哲学的基本问题是思维和存在的关系问题。 内容:其一,意识和物质、思维和存在,究竟谁是世界的本源;根据对该基本问题的不同回答,哲学可划分为唯物主义和唯心主义两个对立的派系;其二思维能否认识或正确认识存在的问题;根据对该基本问题的不同回答,哲学又分为可知论和不可知论。

2.唯物主义的三种历史形态和唯心主义的两种形式? 唯物主义的三种历史形态:古代朴素唯物主义、近代形而上学唯物主义、现代唯物主义即辩证唯物主义和历史唯物主义。唯心主义两种基本形态:客观唯心主义和主观唯心主义。 3、马克思主义物质观、运动观、时空观?实事求是、解放思想、与时俱进的哲学理论依据?唯物主义运动观和唯心主义运动的区别? (1)物质的唯一特性是客观实在性,它存在于人的意识之外,所以我们必须从存在客观事实出发,也可以为人的意识所反映。世界是物质的。 (3)唯物主义运动观和唯心主义运动共同点是多层运用发展都是运动观;区别:A运动变化主题不同,唯物主义运动观主体是物质,唯心主义运动主体是精神与意识;B运动变化根源不同:唯物主义运动观在于物质,唯心主义运动根源在于观念,意识。 4.运动和静止的关系?为什么人不能两次踏入同一条河流?A运动是绝对的,静止是相对的;运动和静止相互依赖,相互渗透,相互包含,“动中有静,静中有动”。 B物质运动时间和空间的客观实在性是绝对的,物质运动时间和空间的具体特性是相对的。 5.实践及其特点、形式?A实践是人类能动地改造客观世界的物质活动B实践具有物质性、自觉能动性和社会历史性等

spring MVC配置详解

牧涛 --<-<-<@态度决定一切→_→。。。 ?博客园 ?首页 ?新闻 ?新随笔 ?联系 ?管理 ?订阅 随笔- 171 文章- 3 评论- 79 spring MVC配置详解 现在主流的Web MVC框架除了Struts这个主力外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib -nodep-2.1_3.jar Hibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、a ntlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.G A.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar 包 SpringMVC是一个基于DispatcherServlet(分发器)的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。 DispatcherServlet是继承自HttpServlet的,既然SpringMVC是基于DispatcherSe rvlet的,那么我们先来配置一下DispatcherServlet,好让它能够管理我们希望它管理的内容。HttpServlet是在web.xml文件中声明的。 spring org.springframework.web.servlet.DispatcherServlet< /servlet-class>