`

开篇难,异?(*^__^*) 嘻嘻…… -- 自己实现MVC框架FleaJAVA

阅读更多

在实现了一个小的动态加载类后,决定使用属性文件来做插件的加载部署机制.本来想使用Spring的IOC的,结果发现

会将自己转入额外的XML的复杂的配置文件中去,相当麻烦.对于前期的玩具版本,这个功能有个可以供测试使用的就

可以了,(*^__^*) 嘻嘻……

 

其实很希望最后的东西是这样的,简简单单的写上几行代码就可以完成框架的部署,使用者可以像PHP那样去快速进行

JSP网站开发.

 

package fleajava.test;

import fleajava.fw.FleaJAVA;
/**
 * 争取做到使用者只要简单的新建组合一个文件就可以实现一个系统的构建
 * @author vb2005xu
 *
 *
 * 使用这个类做单一入口的测试程序 -- 相当于 index.jsp
 */
public class Index {
 public static void main(String[] args) {
 
  //加载应用程序的设置 -- 全局设置
  FleaJAVA.loadAppInf(FleaJAVA.getSimpleConfig());
  FleaJAVA.init();
  FleaJAVA.runMVC();
 
//  FleaJAVA.getAjax().pr();
//  FleaJAVA.dumpContainer();
//
//  FleaJAVA.getDispatcher(false);
  FleaJAVA.dumpContainer();
 
  System.out.println(FleaJAVA.getAppInf(null));
 
 }
}


 

个人思考,对于一些核心组件使用单态类的话,似乎效率要高一些.所以在fleajava.fw.FleaJAVA这个类中

定义了一个哈希表作为容器来管理这些资源

个人疑问问: 传统的直来直去的调用比一层层的架构要慢么?我怎么感觉要快呢?知道词不达意

 

 

 

对于 这个玩具的配置文件[就是用来存放必须经常使用的也可以变更的一些全局级的变量],想过使用XML,

试过属性文件,对于XML来讲个人觉得有些复杂,因为要引入额外的包,这个项目对我个人来讲主要是对之前

JAVA知识的一个概结.在使用上也就不想插入其它东西了,否则又要自定义一个DTD,很多额外的工作对于现

在来讲似乎没有必要.

 

 配置文件 所以决定使用传统的JAVA类来组织,不管是XML,属性文件还是放到数据库中,用起来还是要变成

JAVA可知的数据结构的, 对于用到的配置的环境变量分为两个级别,一个是System级的,一个是User级的.

它们主要都存放在哈希表容器的FLEAJAVA_FW_CONF处,类似代码:

 

/**
  * 加载指定的配置文件路径 -- 缺省使用框架核心的设置
  * 参数要求是SimpleConfig 对象
  *
  * 框架自身的配置存放在 $instances["FLEAJAVA_FW_CONF"]
  * 这个方法仅仅能调用一次,如果要求动态改变环境变量的话
  * 请使用 setAppInf(key,value)方法
  * @param appInfObj
  */
 public static void loadAppInf(SimpleConfig appInfObj)
 {
  //如果类名为null或者不存在,将加载缺省的设置文件对象
  $instances.put("FLEAJAVA_FW_CONF",appInfObj) ;
 }

 

 

可以看出 SimpleConfig 类就是配置文件的类实现,

package fleajava.fw.core.conf;

/**
 * 项目中的配置文件类,在这个类里初定义了项目中所有用到的
 * 属性,及给他均付了初值,用户可以通过修改里面的属性来动态配置环境
 *
 * 框架自身的配置存放在 $instances["FLEAJAVA_FW_CONF"]
 *
 * fleajava.fw.core.conf
 * Author: vb2005xu [JAVA菜鸟]
 */
public final class SimpleConfig {
 
 public static String dbType = "MYSQL" ;
}

 

之所以将其声明为 final class  , 感觉也可以方便用户的使用,比如要修改dbType属性,只需

FleaJAVA.getSimpleConfig().dbType = "PGSQL" ;

对用户来讲他们并不需要知道SimpleConfig是什么,是怎样实现的.....

 

//这里有个问题在于更改hashtable的变量的静态属性后,它的值能否也改变,可以自动更新,我不知道

不过里面如果存放的是一个单态对象的话,我觉得应该可以吧

 

以后每天花2个小时来做这个玩具工具,希望在任务中国接活时可以提高点开发效率,现在每天还是花了

一个多小时来研究TOMCAT,小型应用个人还是很重要的.

 

现在的SOA很流行,但是我觉得那时有多年的不小的大公司才会用到的,对于刚起步的小公司,他们哪里来

的资源整合,他们无非就是推广自己的产品,做个宣传站点或者购物站点,世界上好多程序员,好多JAVA程序

员,但是大公司有多少呢?我们菜鸟也要吃饭的.

 

学习JAVA是很难的,虽然学校里都开了这些课程,但是不难发现,j2se,jsp/servelt,struts最多也就于此了,

等你出来了,找工作时,面试官说,你会'ssh'么?你精通么?你精通ORACLE,DB2么?可是在学习JAVA时不是

说JDBC的高度抽象么?屏蔽了数据库么? JSF , JAVAFX , EJB 哪个是好学的....

 

难道我们之前学习的JAVA都是垃圾,一文不值,那些学习ASP的,并非ASP.NET,他们也可以不错的生活啊,

不平衡啊,希望玩具给初学者带来一点点的帮助吧,起码可以让你们和我一起学会怎么使用MVC,怎么使用

MVC来思考


心酸絮语:

如果哪天 我不做PHP了 我一定去做.NET开发

因为太方便了 JAVA到此为止了 我又不再学习新东西了

上次考了 ASP.NET高级管理员的证书 应该也快下来了吧 娘娘的 花了将近1W元学习JAVA 竟然没有挣到多少钱,自己接的活还是类的快死了上学期间,工作期间,又是普元EOS,又是KOOF工作流 我都晕了

结果还是在地摊上花8元买了本PHP程序员词典[2001年版]的现在每个月 还就靠它 搞定生活了


做了将近 一年半的 J2EE 开发 才发现自己就是一JAVA
菜鸟 到那个公司 都是一套新的框架

 

现在社会上 学习JAVA的那些 傻鸟 自以为学会了
"ssh" 就可以找到好工作 其实狗屁 你说你不会绝对没有人要

你会了 公司其实都不用 用也不会用全 就拿做的那个工作流来说吧

Struts 只是用来做的 而且只是其中的V一部分

Spring 只是用到了 IOC ,我就怀疑那要Spring干嘛
自己写个不久好了

Hibernate 我先开始因为没有使用 结果最后读了3个月的源码 发现 其实是在 其之上疯了的DAO层的一套无聊的代码 浪费啊

不就是怕人才流失么?? 如果所有的公司都使用相同的框架就不拍人走啦

 

  • 描述: 代码结构图 PDT IDE
  • 大小: 32.3 KB
2
1
分享到:
评论

相关推荐

    离散数学课件(*^__^*)...嘻嘻

    "第三章 谓词逻辑1.ppt"和"第二章第一节.ppt"可能是课程的连续部分,分别讲解谓词逻辑的深入内容和另一个主题的开篇。谓词逻辑的第三章可能涵盖更高级的主题,如量词消解、推理规则和模型理论。 "konig.ppt"可能...

    ASP.NET MVC 5 框架揭秘试读样章_netmvc_.netmvc_MVC.net_ASP.NETMVC_

    本书以一个模拟 ASP.NET MVC 内部运行机制的“迷你版 MVC 框架”作为开篇,其目的在于将ASP.NET MVC 真实架构的“全景”勾勒出来。接下来本书以请求消息在 ASP.NET MVC 框架内部的流向为主线将相关的知识点串联起来...

    四六级作文常用句型总结

    - 用于引用最新的研究结果来支持自己的观点。 5. **There is sufficient evidence to show that ...** - 有足够的证据表明…… - 用于强调有足够的证据支持某个观点。 6. **According to statistics proved by ...

    四六级作文万能模板

    - **引言:** 开篇明确指出支持某事物的观点,并简要说明其正面影响。 - **论据1:** 提出支持该观点的第一个理由,可结合具体事例或数据加以论证。 - **论据2:** 继续阐述支持观点的其他理由,增强论点的说服力。 **...

    ASP.NET MVC 5框架揭秘完整版 (蒋金楠) 高清pdf附源代码

    《ASP.NET MVC 5 框架揭秘》以一个模拟ASP.NET MVC内部运行机制的“迷你版MVC框架”作为开篇,其目的在于将ASP.NET MVC真实架构的“全景”勾勒出来。接下来本书以请求消息在ASP.NET MVC框架内部的流向为主线将相关的...

    aix 6.1 Technical Reference: Kernel and Subsystems, Volume 1

    在本书的开篇部分,作者强调了一些重要的信息点: - **关于本书**(About This Book)章节简要介绍了本书的主要内容、组织结构以及读者群体。 - **高亮**(Highlighting)章节则通过不同的字体或格式突出显示了关键...

    江门星火教育小学辅导二年级语文阅读理解答题步骤方法与技巧.docx

    - 例如:只要……就……、只有……才……、无论……都……、不管……也…… - 示例:“只要有恒心,就没有克服不了的困难。” 7. **因果关系**: - 例如:因为……所以……、由于……因此……、既然……那么……...

    大学英语六级作文模板大全

    - **开篇句**:About nine o'clock one evening in May, my roommate Li Ming was lying in bed, trembling with cold and having a cough. - **扩展句**:His head was aching so intensely that he kept ...

    《ASP.NET MVC 5框架揭秘》高清带书签

    《ASP.NET MVC 5 框架揭秘》以一个模拟ASP.NET MVC内部运行机制的“迷你版MVC框架”作为开篇,其目的在于将ASP.NET MVC真实架构的“全景”勾勒出来。接下来《ASP.NET MVC 5 框架揭秘》以请求消息在ASP.NET MVC框架...

    ASP.NET MVC 5 框架揭秘 [完整版] part3

    蒋金楠编*的《ASP.NET MVC5框架揭秘》以一个 模拟ASENET MVC内部运行机制的“迷你版MVC框架” 作为开篇,其目的在于将ASENET MVC真实架构的“全 景”勾勒出来。接下来本书以请求消息在ASENET MVC 框架内部的流向为...

    ASP.NET MVC 5 框架揭秘 [完整版] part2

    蒋金楠编*的《ASP.NET MVC5框架揭秘》以一个 模拟ASENET MVC内部运行机制的“迷你版MVC框架” 作为开篇,其目的在于将ASENET MVC真实架构的“全 景”勾勒出来。接下来本书以请求消息在ASENET MVC 框架内部的流向为...

    ASP.NET MVC 5 框架揭秘 108M

    蒋金楠编的《ASP.NET MVC5框架揭秘》以一个 模拟ASENET MVC内部运行机制的“迷你版MVC框架” 作为开篇,其目的在于将ASENET MVC真实架构的“全 景”勾勒出来。接下来本书以请求消息在ASENET MVC 框架内部的流向为...

    公司人事面试问题回答思路

    - 开篇即吸引面试官注意,简明扼要地介绍个人基本信息。 - 结合个人简历,确保信息一致性。 - 使用自然流畅的语言表达,避免书面语。 - 突出与职位相关的经验和技能,展现个人优势。 - 结构清晰,逻辑性强,让...

    初中作文-写作技巧整理新版.doc

    - **设问开篇**:引发思考,如“往事如烟,随着时光的流逝,大都渐渐淡忘,而那双眼睛,怎能使我忘怀?” - **名言指路**:引用名言确立主题,如“培根说过:‘无真实朋友之人……’” - **比照映衬**:对比突出...

    ASP.NET MVC5 框架揭秘+源码打包下载

    《ASP.NET MVC 5 框架揭秘》以一个模拟ASP.NET MVC内部运行机制的“迷你版MVC框架”作为开篇,其目的在于将ASP.NET MVC真实架构的“全景”勾勒出来。接下来本书以请求消息在ASP.NET MVC框架内部的流向为主线将相关的...

    ASP.NET MVC 5 框架揭秘

    《ASP.NET MVC 5 框架揭秘》以一个模拟ASP.NET MVC内部运行机制的“迷你版MVC框架”作为开篇,其目的在于将ASP.NET MVC真实架构的“全景”勾勒出来。接下来《ASP.NET MVC 5 框架揭秘》以请求消息在ASP.NET MVC框架...

    How to write a world-class paper-online

    在动笔之前,您需要对自己的研究成果进行一次全面的审视: 1. **是否做出了新颖且有趣的研究?** - 您的研究是否具有创新性,能够为该领域带来新的见解或发现? 2. **是否检查了最新的研究成果?** - 了解最新...

    Spring in Action

    - **Web层构建**:Spring MVC是Spring框架中的一个子项目,专门用于构建Web应用程序。这部分介绍了如何使用Spring MVC构建Web层。 - **视图层替代方案**:除了传统的JSP外,Spring还支持多种视图技术,如Thymeleaf、...

    ASP.NET MVC5 框架揭秘

    《ASP.NET MVC 5 框架揭秘》以一个模拟ASP.NET MVC内部运行机制的“迷你版MVC框架”作为开篇,其目的在于将ASP.NET MVC真实架构的“全景”勾勒出来。接下来本书以请求消息在ASP.NET MVC框架内部的流向为主线将相关的...

Global site tag (gtag.js) - Google Analytics