手写MVC框架(三)-单独使用IOC示例
2020-04-12 16:05:24来源:博客园 阅读 ()
手写MVC框架(三)-单独使用IOC示例
GMVC框架单独使用IOC示例。-------上一篇:手写MVC框架(二)-代码实现和使用示例------
背景
我在开发GMQ框架时使用了GMVC框架,使用过程中发现了一些不方便的地方,也都优化了。当前GMQ的传输基于http传输,我计划改为使用netty。因为我的代码是基于GMVC构建的,现在需求剥离掉web层,仅使用IOC功能。所以我就重新梳理了一下GMVC框架,最后发现是支持这样做的。
IOC使用示例
1、添加依赖
gmc项目:https://gitee.com/simpleha/gmvc.git
<dependency>
<groupId>com.shuimutong</groupId>
<artifactId>gmvc</artifactId>
<version>1.0.2-SNAPSHOT</version>
</dependency>
2、编写业务代码
package com.shuimutong.gmvc_ioc_demo.service; public interface TestService { void speak(); String convertString(String s); } package com.shuimutong.gmvc_ioc_demo.service.impl; import com.shuimutong.gmvc.annotation.XAutowired; import com.shuimutong.gmvc.annotation.XService; import com.shuimutong.gmvc_ioc_demo.bean.Person; import com.shuimutong.gmvc_ioc_demo.dao.TestDao; import com.shuimutong.gmvc_ioc_demo.service.TestService; @XService public class TestServiceImpl implements TestService { @XAutowired private TestDao testDao; @Override public void speak() { System.out.println("----TestServiceImpl-----speak--"); } @Override public String convertString(String s) { Person p = testDao.findPerson(); String perString = "addStr:" + s + String.format(",Person(name:%s,age:%d)", p.getName(), p.getAge()); return perString; } } package com.shuimutong.gmvc_ioc_demo.dao; import com.shuimutong.gmvc_ioc_demo.bean.Person; public interface TestDao { Person findPerson(); } package com.shuimutong.gmvc_ioc_demo.dao.impl; import com.shuimutong.gmvc.annotation.XRepository; import com.shuimutong.gmvc_ioc_demo.bean.Person; import com.shuimutong.gmvc_ioc_demo.dao.TestDao; @XRepository public class TestDaoImpl implements TestDao { @Override public Person findPerson() { return new Person(); } }
3、入口代码
public class App { public static void main( String[] args ) { Map<String, String> packageMap = new HashMap(); //扫描包目录 packageMap.put(GmvcSystemConst.BASE_PACKAGE, "com.shuimutong.gmvc_ioc_demo"); try { InstanceManager.initAnnotationedResourcesAndDoInit(packageMap); } catch (Exception e) { e.printStackTrace(); } //获取类的实例 TestService testService = (TestService) InstanceManager.getEntityByClazz(TestServiceImpl.class); String msg = testService.convertString("Hello,GMVC-IOC"); System.out.println(msg); } }
4、启动
addStr:Hello,GMVC-IOC,Person(name:name71,age:71)
IOC成功。
原文链接:https://www.cnblogs.com/shuimutong/p/12684296.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java三大特性
- Java--反射(框架设计的灵魂)案例 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- Java--反射(框架设计的灵魂) 2020-06-11
- 与JAVA集合相遇 2020-06-11
- Java框架之Hibernate实战篇 2020-06-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash