补上关键核心技术短板

2024-09-04

补上关键核心技术短板(2篇)

1.补上关键核心技术短板 篇一

消除“相对贫困” 决胜全面小康

“到我国现行标准下农村贫困人口实现脱贫,贫困县全部摘帽,解决区域性整体贫困。”这是中央对全面建成小康社会目标做出的庄严承诺,距离这一承诺的兑现还剩一年左右的时间。到20消除绝对贫困之后,脱贫攻坚战的重心将转向“相对贫困”。

,脱贫攻坚战在全国各地纷纷打响,自下而上可谓捷报频传,出现了喜人的局面。5年的战斗计划只剩下一年了,贫困县全部摘帽指日可待。但是,这并不等于脱贫攻坚就结束了,还要将重心将转向“相对贫困”。因此,脱贫攻坚虽然大获全胜,但扶贫工作还在路上,战斗中不协调的声音依然存在。因此,什么“现金脱贫”,“数字脱贫”等奇怪现象,确实应当彻底摒弃。因此,面对“相对贫困”,广大党员干部更不能有丝毫的懈怠之心。

在一些偏远的地方,由于受多方条件的制约,创业、就业难度相对较大,在扶贫工作中,有的部门、干部为了省事省心,就采用直接发放现金的方式。似乎钱一发下去,百姓就脱贫了。殊不知,条件越差的地方,百姓的思想意识也就更落后,有了现金扶持,不是去思考如何创业致富,而是当起了“老太爷”,干脆直接花那点钱。结果,钱花完了,房没建起来,业没创起来。在解决“相对贫困”的问题上,更当明确现金只是资本,脱贫还当自立。因此,怎样帮助困难群众树立自信,依然是艰巨而现实的话题。

局部的“相对贫困”,也可能和先前的“数字脱贫”有关。“数字脱贫”与当年的“浮夸风”如出一辙。说某户人家养殖业收入多少,种植业收入多少,副业又收入多少,完全不按实际操作,而是根据脱贫标准进行“神仙凑数”,甚至在数字上脱贫进小康。为了顺利迎检,还要“教会”群众怎样“答话”。这就是典型的“浮夸”,当年的亩产上万斤害苦的是群众,若在扶贫中如法炮制,那光鲜的“数字”背后,只能是贫困依旧。这样的作风必须转变,否则“相对贫困”就难以解决。

另外,由于思想上不到位,“不想脱贫”的现象不同程度还存在。那些没有在意识深处认识到党中央扶贫政策重要意义的群众,认为在“脱贫攻坚”中相当于捡到到了天上掉下的“馅饼”,自己没付出任何代价,就来了这么大笔“横财”。他们花惯了国家的钱,一旦脱了贫,就少了这笔“额外”的收入,没有了依赖的“靠山”,于是就出现了“不想脱贫”的畸形思维。这就更要帮助他们树立起“自力更生,丰衣足食”的信念,彻底消除依赖心理,首先实现思想上的“脱贫”。

脱贫攻坚,虽然成就了举世瞩目的人间奇迹,但成绩不可高估,攻坚还在路上。在决胜全面建成小康社会,实现中华民族伟大复兴的进程中,有荆棘坎坷,有拦路老虎,切不可等闲视之。唯有披荆斩棘、一步一个脚印前行,彻底摒弃诸如“现金脱贫”“数字脱贫”等不良作风,才能将脱贫攻坚工作推向深入,才能彻底消除“相对贫困”,共同迈向灿烂的未来。

2.补上关键核心技术短板 篇二

近年来, 在J2EE世界, 开源框架不断涌现, 像Struts、Spring、Hibernate等经典成熟的开源框架, 在其框架上进行二次开发将极大地减少软件开发成本, 提高软件的生产效率, 同时也规范了部分软件开发层次, 大大减轻了开发人员的负担。由于开源框架都是免费和开放源码的, 开发者如何有效地驾驭这些框架, 如何将不同层上的框架整合在一起, 把开发人员从繁杂的底层编码中解脱出来, 使其更专注于应用的业务, 都是值得探讨的问题。为此, 笔者对开源框架核心思想的关键技术进行了研究, 并给出了关键技术的实现方法。

1 开源框架的核心思想

在J2EE开源框架中, Struts、Spring、Hibernate等开源框架代表了J2EE应用在结构上的3个层次, 即应用系统前端、业务规则核心应用、数据访问及存储对象映射。Struts是在Web版应用程序时产生的, 即在应用前端将视图 (View) 、控制器 (Controller) 、数据模型 (Model) 分离开来, 其核心思想是MVC架构。Spring是一个轻量级的开源框架, 以控制反转 (IOC) 原则和面向方面编程 (AOP) 思想为基础, 提供管理对象服务, 其核心思想是控制反转 (IOC) 或者说是依赖注入 (DI) , 其核心概念是Bean Factory, 它能够很方便地配置、装配JavaBean和普通的Java 对象, 通过IOC 容器和依赖注入技术无缝的将各个协同工作的业务逻辑对象整合在一起。Hibernate是Java应用中对象与关系型数据库的关系持久化层的解决方案, 核心思想是ORM, 负责Java对象和关系数据之间的映射, 封装了底层JDBC访问数据库细节。

2 开源框架的关键技术及其应用模型

开源框架将Web应用程序划分成三层架构:表现层、业务层和数据层, 各层的关键技术如下:

(1) 表现层关键技术。在MVC前端部分, 需遵循MVC架构, 构造出其数据模型 (M) 、视图 (V) 、控制器 (C) 。模型 (M) 根据业务规则封装数据后的应用程序状态, 视图 (V) 用来组织表现模型 (M) 内容, 在MVC的前端简单模型中, 视图 (V) 通过外界输入请求给控制器 (C) , 控制器 (C) 根据视图 (V) 的输入内容, 将其转换成程序相应行为, 去更新模型 (M) , 再选择相应视图 (V) 展现给用户。

(2) 业务层关键技术。该层关键技术是IOC业务关注点的IOC控制反转、解耦及非侵入性, Spring 通过JavaBean 模型提供基于IoC 容器的BeanFactory 和基于AOP 框架的JavaBean 组件, 不需要维护组件之间的依赖关系, 只要在配置文件WebApplicationContext.xml 中设置属性, Spring 容器将自动依赖注入到相关的组件, 完成业务方法层组件的配置与加载。在图1中的IOC简单模型中, 将业务关注点 (组件) 分离, 可以达到将关注点解耦的目的, 同时减少了业务关注点 (组件) 相互的侵入性和直接依赖。将关注点 (组件) 及关注点 (组件) 之间依赖关系的实现交给IOC容器完成 (而不是交给应用程序内部) , IOC容器在运行期间将依赖关系动态的注入关注点 (组件) , 即IOC控制反转。

(3) 数据持久层关键技术。该层关键技术是ORM部分, 需解决数据库的无关性和实体对象的持久性。图2中的ORM中数据存取层实现了数据库访问无关性, 通过封装JDBC对数据库的访问细节, 实现了对主流数据库的统一访问接口, 这些接口是建立在图2中JDBC封装数据库访问无关的基础之上的。对象映射关系持久化是Java实体对象与关系数据库的映射, 通过持久化将数据库中表的某条记录映射成Java应用中的某个实体对象, 或者将Java应用中的某个实体对象映射成数据库中表的某条记录, 对象关系映射文件描述了映射关系, 而持久化能让开发者以面向对象的方式操作数据库。DAO组件实现了对业务数据访问方法, 并通过统一对外访问层向用户提供统一的访问方法和服务。

3 开源框架关键技术的实现

在Web应用系统开发中, 将MVC前端简单模型 (表现层) 、IOC简单模型 (业务层) 、ORM简单模型 (数据持久层) 、关系数据库整合起来, 构成开源框架的架构层次模型。MVC框架中的控制器响应来自客户端的数据, 并组装相应数据, 然后请求或更新相应的业务模型, 该业务模型继而查找IOC框架中的业务组件, 并请求IOC上的业务服务, 业务服务调用ORM框架DAO类方法, 从而使ORM与关系数据库数据进行交互。完成对数据的访问后, 将响应结果集合返回给IOC框架的业务服务, 业务服务响应给MVC的控制器, 控制器再根据业务模型, 选择合适的视图装载数据, 最终响应给客户端。

3.1 MVC架构的关键技术实现

开源框架的MVC框架中的Controller控制器用来接收浏览器的请求, 更新Model模型状态, 以及选择合适的View视图, 是组织协调框架统一行动的控制枢纽。Controller控制器是以servlet实现的命令设计模式, 它是MVC的核心, mvcBean.xml文件 (配置了模型及视图的选择) 用来配置该命令模式, 描述行为和流程。Controller控制器分为统一处理所有客户端请求、统一处理所有跳转和映射, 统一处理所有客户端请求由ControllerResult类实现, 统一处理所有跳转由ControllerForword类实现, 而处理映射mvcBean.xml文件由InitConfig类实现。MVC框架实现流程见图3。

3.2 IOC架构的关键技术实现

开源框架的IOC框架中的核心就是业务组件及管理, 业务组件及业务对象之间的依赖关系用配置文件iocBean.xml来管理, 也就是依赖注入机制或者说是控制反转 (将关系交给IOC容器管理而不是应用程序) 。IOC容器用来管理配置文件中业务对象间的依赖关系, 并在Web容器启动时或者应用程序需要时注入。IOC容器是在Web容器中开辟了一块属于某个业务应用的特别空间。在Web容器启动时, 通过启动配置监听器来加载IOC容器, 让IOC容器根据配置文件加载或初始化业务组件并维护业务对象间的依赖关系, 使用IocContext类来为这些加载的业务组件提供上下文环境, ClassInstanceFactory类来生成业务对象, 让util类包来解析业务对象间的依赖关系。这样就能通过Web容器上下文WebApplicationContext环境就能访问IOC容器上下文IocContext环境, 进而访问IOC容器下的能够访问所有内容, 包括业务组件及业务对象间的依赖关系。

开源框架中的简单IOC框架部分核心思想的代码实现, 包括IOC容器的初始化、依赖关系注入。在IOC容器的初始化代码中, 类WebContextListener实现了ServletContextListener接口, 它会监听Servlet容器, 当Servlet容器启动时它会调用contextInitialized () 方法进行相关的初始化工作, applicationContext作为IOC容器通知上下文被唯一一次初始化, 包括初始化配置文件iocBean.xml, 而后通过applicationContext能够获取到IOC容器所有上下文信息, 当Servlet容器关闭的时候, 它同样会调用contextDestroyed () 方法进行相关的销毁工作, 代码如下:

在IOC容器加载业务服务组件部分的核心代码, 实现对配置文件iocBean.xml的初始化, 并完成业务组件的加载。bean用来描述一个业务组件, 而该业务组件有很多属性propertys;使用一个beanPropertyMap的Map类型来描述该业务组件的多个属性, Map中的String类型的key来标识该业务组件的一个属性, 并用来区别于该业务组件其他的属性, BeanProperty类型的value来存储该属性对象;BeanProperty类型的name用来描述该实例中使用的变量, ref描述该变量实现的类, 其中name的值为IOC容器注入的业务名称, 而ref的值即为name的依赖关系, 代码如下:

3.3 ORM架构的关键技术实现

开源框架的ORM框架中的核心就是对象关系映射, 同时包括以封装好的JDBC数据库访问无关性作为基础的数据存取、事务管理。对象关系映射的主要文件有:映射类 (*.java) 、映射文件 (*.xml) 以及数据库配置文件 (*.xml) 。映射类描述数据库表的结构, 表中的字段在类中被描述成属性;映射文件描述数据库表和映射类之间的关系, 包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等;数据库配置文件描述数据库连接时需要的连接信息, 比如连接数据库类型信息、登录用户名、登录密码以及连接字符串。

在ORM框架的关键技术实现中, DAOFactory用来根据不同的业务对象产生相关业务DAO实现类, AbstractDAO用来封装DAO实现中的增删改查等共同抽象业务行为, 是DAO实现的父类;IDAOModule接口采用Hibernate技术来管理数据存取层和实现实体对象持久化, 并被依赖注入到AbstractDAO;DAO实现类则实现了业务数据访问方法, 这些方法会调用IDAOModule接口的实现类中的方法来对数据库进行访问, 以获取相关业务数据。当业务逻辑层调用ORM框架的数据访问层时, 根据业务逻辑DAOFactory选择产生相应的DAO实现类, DAO实现类会选择相应的IDAOModule接口实现对数据库访问并返回相关业务数据。

4 结束语

开源MVC框架简单化了Struts框架, 不在视图中支持扩展自定义标签, IOC框架简单将这些业务服务组件在web容器启动IOC容器时或者在应用程序需要时初次初始化加载到一个全局Map (IocContext类能访问到的) 中, IOC容器只加载一次, 简单的提供业务服务组件的访问;ORM框架并不维护模型映射中的对象间关系、关系数据库关系、映射中的策略, 只是简单映射Java对象与关系数据模型, 通过对表现层、业务层、数据层的整合、重构、改进, 降低重新开发框架的成本, 更能在极短的时间内完成大量重复而简单的工作任务, 提升工作效率, 打造企业竞争产品, 提升企业品牌。

参考文献

[1]CHUCK CAVANESS.Programming jakarta struts O'Reilly Media, 2002 (11) .

[2]刘君强, 顾海全, 王讯, 等.基于开源框架的高质量J2EE应用架构[J].计算机工程与设计, 2007 (1) .

[3]黄道斌, 尹荣章, 叶明全, 等.基于开源框架的内容管理系统[J].电脑知识与技术, 2010 (4) .

[4]夏昕, 曹晓钢, 唐勇.深入浅出Hibernate[M].北京:电子工业出版社, 2005.

[5]孙卫琴.Tomcat与JavaWeb开发技术详解[M].北京:电子工业出版社, 2004.

上一篇:影视剧承制合同下一篇:茉莉花主题婚礼策划方案