最近空隙之余,了解了一下 Spring3 MVC 的业务模型驱动的标注。突然有一个想法:
(1)在 @Controller里 扩展,增加业务模块ID和Name的声明,约定开发规范:一个功能模块(菜单)对应一个 @Controller , 有多少按钮提交,都在这个 Controller里的方法实现。 这样,配置菜单项的数据来源,就可以使用 Spring 里 @Controller 列表了。这样可以减少到数据库去注册菜单。尤其是有了这个机制后,可以校验代码里与数据库的菜单配置的对应关系是少了还是多了,或者死链接。
(2)进一步地,功能菜单的链接(含页面按钮对应的链接),都使用 @RequestMapping 声明。这样可以减少到数据库去注册功能按钮。尤其是有了这个机制后,可以校验代码里与数据库的按钮配置的对应关系是少了还是多了,或者死链接。同时,也能进一步防止程序员偷偷开发出一些链接,没有经过数据库的配置,跳过权限的控制而造成安全隐患。