读书人

在Nutz中应用Ioc-Annotation的入门教程

发布时间: 2012-10-26 10:30:59 作者: rapoo

在Nutz中使用Ioc-Annotation的入门教程

接触Nutz已经有很久了,从1.a.15就开始关注,至今也用Nutz做了几个项目,由于工作较忙,因此都没空写学习心得。惭愧的是一直没空去研究源码!!在Nutz中应用Ioc-Annotation的入门教程

?

今天心血来潮,测试了Ioc-Annotation,觉得挺方便的,由于Nutz提供了几种注入的配置方式(JS、XML、Annotation),因Nutz最开始是只支持JS配置,所以之前做的项目都是使用JS配置。但经常会忘了在JS配置文件加入注入的对象,经常获取到NULL值。

?

因在Spring-MVC中经常用注解,所以今天就抽空试了下Nutz的注解方式。还挺给力的!!!哈哈~~

?

好了,正奔主题!!

?

?

Nutz版本:1.b.38

数据库:MySQL

?

?

一、创建数据库

?CREATE TABLE `articleinfo` (
? `id` int(4) NOT NULL AUTO_INCREMENT,
? `title` varchar(50) DEFAULT NULL,
? `content` text,
? `addDate` datetime DEFAULT NULL,
? `addIp` varchar(50) DEFAULT NULL,
? PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

?

-- ----------------------------
-- Records of articleinfo
-- ----------------------------
INSERT INTO `articleinfo` VALUES ('1', '关于Nutz的Ioc-Annotation测试', '关于Nutz的Ioc-Annotation测试\r\n', '2011-07-23 21:42:43', '127.0.0.1');
INSERT INTO `articleinfo` VALUES ('2', 'Ioc-Annotation测试例子', 'Ioc-Annotation测试例子', '2011-07-23 21:44:16', '127.0.0.1');
INSERT INTO `articleinfo` VALUES ('3', '哈哈,成功了吧!', '哈哈,成功了吧!', '2011-07-23 21:44:40', '127.0.0.1');

?

?

二、例子使用的Jar包


在Nutz中应用Ioc-Annotation的入门教程

?

三、结构图

在Nutz中应用Ioc-Annotation的入门教程

?

?

?四、代码

1、首先配置Web.xml,配置Nutz的主模块。

?

?

2、创建主模块类MainModule.java

?1)由于主键是整型,因此此处是继承IdEntityService

2)此处最重要的是@IocBean(args = { "refer:dao" })这句话,等同于

@IocBean( name = "articleInfoService", args = { "refer:dao" })

使用@IocBean,若没有指定属性name的值,则默认为类名首字母小写。

?3)args = { "refer:dao" })指定构造函数所要注入的对象,由于ArticleInfoService要使用到dao对象,因此此处不要忘了带参数。

?

?

?

6、子模块 ArticleInfoAction.java

(哈哈,可能有些人看完Nutz手册,也没有看到以Action结尾的类名,个人习惯吧,因为之前用惯了SSH,觉得那样命名也挺好的,所以就搬过来了。按Nutz的推荐命名应该是ArticleInfoModule.java吧!你懂的啦!)

?

?

8、OK了,所有文件都配置好了,我们重启Tomcat,访问以下测试地址。

http://localhost:204/TestIocAnnotation/articleinfo/showArticleInfoList.shtml

?

效果图:


在Nutz中应用Ioc-Annotation的入门教程

?

---------------------------------------------------

第一次在Javaeye上写学习心得,还蛮花时间的。以后有空再继续写了!!

不过,Nutz挺给力的!!!!!最后附上整个例子的源代码,希望对大家有帮助了!

?

?

@Inject private ArticleInfoService articleInfoService;
3 楼 细胞vs宇宙 2011-09-01 开始研究nutz。ioc这一块还是蛮复杂的。

读书人网 >编程

热点推荐