micro-mvc框架支撑mvc各层代码热部署
2018-01-12 09:49
183 查看
micro-mvc框架,借助nhmicro框架和groovy技术使所有的controller、servicebean、dao和sql脚本都支持动态热部署和调试。
Controller层
Controller层groovy中使用注解MicroUrlMapping设置url地址
类上的注解必须有并作为根路径
各个方法中设置子路径
比如下面的groovy中test方法可以调用url为/testController/test
方法参数固定为HttpServletRequest request, HttpServletResponse response
可以继承MicroControllerTemplate获取默认增删改查功能http接口。但需要在controller中写明super的调用过程并设置url
Service层
建议将service功能和controller层功能融合在同一个groovy中实现。如果一定要分出service层groovy,
又不愿意用GroovyExecUtil显示调用。可通过注解InjectGroovy注入service层groovy的代理接口对象。
加载groovy时遇到InjectGroovy注解的成员变量,会自动生成成员接口的代理对象并注入。
代理对象的功能是调用name指定的groovy中与接口同名的方法。
如果service层对象是传统java编写的,或microdao的mapper对象,可以使用Resource从spring中注解注入。
Aop机制
加载groovy时提供aop代理机制,默认提供事务aop和数据源切换aop
事务aop,可在加载时,识别Transactional注解,实现事务控制。
可自行别写特定功能代理。
开启代理需要在groovy的类中设置@MicroAop注解指定代理类
Dao层
MicroDao同时支持mysql和oracle
MicroDao相对mybatis的优点:
1,sql脚本支持修改后热部署实时生效。
2,bean与数据库字段映射关系,通过注解设置到bean中,不必在sql脚本中体现。
3,sql脚本支持类似jsp的写法,且不必区分select、update使用不同标签,更加灵活。
4,不需要使用插件,内置支持物理分页。
5,不需要使用插件,内置支持针对bean的标准增删改查功能。
6,不需要使用插件,内置支持读写分离,分库分表。
7,针对mysql5.7支持动态字段。
支持mapper、template、非orm三种模式支撑业务系统
1,mapper指,通过扫描接口,运行时自动生成dao实例;
2,template指,通过继承template标准父类,生成dao子类;
3,非orm指,直接使用microDao实例,可以执行非orm更灵活的数据库操作。
Controller层
Controller层groovy中使用注解MicroUrlMapping设置url地址
类上的注解必须有并作为根路径
各个方法中设置子路径
比如下面的groovy中test方法可以调用url为/testController/test
方法参数固定为HttpServletRequest request, HttpServletResponse response
@MicroUrlMapping(name="/testController") class TestController extends MicroControllerTemplate { public String tableName="micro_test3"; public String getTableName(HttpServletRequest httpRequest){ return tableName; } @MicroUrlMapping(name="/test") public void test(HttpServletRequest request, HttpServletResponse response){
可以继承MicroControllerTemplate获取默认增删改查功能http接口。但需要在controller中写明super的调用过程并设置url
@MicroUrlMapping(name="/delInfo") public void delInfo(HttpServletRequest httpRequest, HttpServletResponse httpResponse){ super.delInfo(httpRequest, httpResponse); }
Service层
建议将service功能和controller层功能融合在同一个groovy中实现。如果一定要分出service层groovy,
又不愿意用GroovyExecUtil显示调用。可通过注解InjectGroovy注入service层groovy的代理接口对象。
加载groovy时遇到InjectGroovy注解的成员变量,会自动生成成员接口的代理对象并注入。
代理对象的功能是调用name指定的groovy中与接口同名的方法。
@InjectGroovy(name="testGroovy") public ITest test;
如果service层对象是传统java编写的,或microdao的mapper对象,可以使用Resource从spring中注解注入。
@Resource public TestRep testRep;
Aop机制
加载groovy时提供aop代理机制,默认提供事务aop和数据源切换aop
事务aop,可在加载时,识别Transactional注解,实现事务控制。
可自行别写特定功能代理。
开启代理需要在groovy的类中设置@MicroAop注解指定代理类
@MicroAop(name=[MicroDefaultLogProxy.class,MicroTMProxy.class,MicroDbProxy.class], property=["","",""]) @MicroUrlMapping(name="/testController") class TestController extends MicroControllerTemplate {
Dao层
MicroDao同时支持mysql和oracle
MicroDao相对mybatis的优点:
1,sql脚本支持修改后热部署实时生效。
2,bean与数据库字段映射关系,通过注解设置到bean中,不必在sql脚本中体现。
3,sql脚本支持类似jsp的写法,且不必区分select、update使用不同标签,更加灵活。
4,不需要使用插件,内置支持物理分页。
5,不需要使用插件,内置支持针对bean的标准增删改查功能。
6,不需要使用插件,内置支持读写分离,分库分表。
7,针对mysql5.7支持动态字段。
支持mapper、template、非orm三种模式支撑业务系统
1,mapper指,通过扫描接口,运行时自动生成dao实例;
2,template指,通过继承template标准父类,生成dao子类;
3,非orm指,直接使用microDao实例,可以执行非orm更灵活的数据库操作。
相关文章推荐
- micro-mvc框架支持mvc各层业务代码热部署
- asp.net mvc 之旅—— 第四站 学会用Reflector调试我们的MVC框架代码
- PHP MVC代码分析(小凯教你写一个MVC框架)
- asp.net mvc 之旅—— 第四站 学会用Reflector调试我们的MVC框架代码
- java代码初级,采用MVC框架实现对数据库的添加操作
- spring boot项目中使用spring-boot-devtools模块进行代码热部署,避免重新启动web项目
- asp.net mvc发送邮件附带附件代码~~~~
- 使用SharpDevelop 4编译asp.net mvc 2项目并部署到iis5.1(WinXP)(下)
- FastDFS的配置、部署与API使用解读(3)以流的方式上传文件的客户端代码
- spring boot 自动更新静态文件和后台代码 -- 热部署
- MVC之排球比赛计分程序 ——(八)具体代码(1)
- asp.net mvc 2 RC 在iis上的部署
- Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之环境部署
- 简单高效的代码部署方法
- asp.net mvc页面javascript代码中如何使用razor
- (转)asp.net MVC 3.0 在各个版本IIS中的部署
- 30行代码实现JavaScript中的MVC
- Asp.net MVC 视图之公用代码
- ASP.NET MVC API 接口验证的示例代码
- 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法