一个java开源小博客框架blog4j,基于注解、反射实现的小框架

原文:一个java开源小博客框架blog4j,基于注解、反射实现的小框架

源代码下载地址:http://www.zuidaima.com/share/1770404094577664.htm


这个小项目功能、实现都不算复杂,没有用到J2EE主流框架,而是通过注解、反射来实现的简单的IOC、DB、LOG、WEB等功能。个人感觉,总体设计来讲一般,对于这个小博客是够用的,过于针对性导致很难扩展下去。而且作者貌似没有对这个项目持续更新下去,感觉挺可惜的。但是,作为小白白来讲,还是具有学习价值的。也想通过分享,把学到的一些东西做个小小的整理。

注1:第一个项目是使用xml配置,第二个是注解

注2:原项目可能作者比较重视xml配置的实现(IOC、REST风格等等),但是注解的实现就有问题,如一个bean对应多个url的时候、依赖注入的时候。对此我对第二项目做了小小的修改,如依赖注入,但是主要是硬编码,这也主要测试一下,没有更多的考虑。有兴趣的朋友请自行实现大刀阔虎的改革....

注3:原项目考虑云平台的部署,具体没测试,具体参考第一个项目。

注4:原项目将blog和框架分开,这里把它们合并在一起,一是因为代码不多,二是因为方便调试。

工程结构截图:

项目运行:

项目一(基于xml):

前台:http://localhost:9090/blog4j/

后台:http://localhost:9090/blog4j/admin(这个界面超挫滴,虽然我不是颜控,但是。。鄙视。。为什么我不修改呢。。更鄙视)

用户名:admin    密码:admin

项目二(基于注解):将端口变成9091、项目名后加个2

项目剪影:

1、前台

2、文章添加页面

3、页面添加

4、文章列表

5、标签列表

一个java开源小博客框架blog4j,基于注解、反射实现的小框架_第1张图片

实现细节:

1、项目已启动就通过这个监听器获取要扫描的包、或者xml文件,将bean的详细信息:id、scope等信息放到一个Map集合中,接着再将这个Map集合存储到另一个key值为default_context的Map集合中,便于接下来的Handler的获取。但此时的bean还没有被实例化的。

xml文件配置bean(更具体请看doc目录下文件)

注解方式配置bean(更具体请看doc目录下文件)

2、在过滤器的init方法加载了Mapping(映射)信息

xml中的配置

 

3、这个过滤器实现了这个系统几乎的关键功能

A、根据request获取处理类(根据uri来进行匹配的,还有获取PathVariable,详细请参考:WebApplication#lookpup)

B、知道处理类,那么应该调用什么方法呢?现在的Controller类就只有post、get方法,通过request来确定调用哪个方法

C、知道处理类、方法,接着就要使用invoke了,之后就render相关页面。

 


由最代码官方编辑于2014-7-7 23:07:38

你可能感兴趣的:(java,博客,java,java博客,blog,java开源博客系统)