Koala (考拉) 是一款应用在 Java EE 企业级应用开发领域,用于帮助架构师简化系统设计,降低框架耦合度,提高系统灵活性,提供开发工程师工作效率,降低成本的平台工具。
Koala 的下载和安装请看这里。
下面是使用 Koala 创建一个最基础项目的完整过程:
打开eclipse的新建项目向导对话框,选择Koala->Koala Project。
点击Next按钮,出现Koala的新建项目向导,如图:
在“Project name”处填写项目名称,在“Location”处选择项目路径,在“Working sets”处选择working set。如果其他使用默认,可只填项目名称。点击Next按钮,进入下一步,进入maven信息填写的向导页。
填写Group Id,Artifact Id,Version和Description等信息,除了Description外其他均为必填项。点击Next按钮,进入添加模块的向导页。
如图:中间显示的当前项目的子模块,右边是相应的子模块的操作,包括新增,修改以及删除等操作
另外,你可以选择JPA或Mybatis做为数据库实现,Koala支持这两种方式
你也可以使用SpringMVC或Struts2MVC做为前台MVC实现
选择Use Default Modules会根据DDD领域思想自动生成五层模型的项目
其中应用层分为接口和实现两个模块。
“demo-infra”为基础设施层的模块,
“demo-core”为领域层的模块,
“demo-application”为应用层接口模块,
“demo-applicationImpl”为应用层实现模块,
“demo-web”为展现层模,
demo-conf为配置模块。
开发这可以根据项目需要,添加模块,并对已有模块配置进行编辑或者删除操作。
下面介绍项目模块配置的操作。
点击右边add按钮,进入模块信息编辑页面。
在编辑模块信息页面中,填写模块名称,选择模块类型(即根据DDD分层思想,选择该模块所在层,如基础设施层,领域层,应用层,展现层等)
功能依赖是指当前子模块中加入一些常用的功能,如FTP,缓存等。加入这些功能是开箱即用的。
模块依赖是指定义模块之间的依赖关系。定义模块依赖前最好对DDD思想有一定的了解
点击确认便新增加了一个子模块
你还可以编辑模块或删除它们
根据项目情况,添加完所需的模块之后,点击Next按钮,进入下一步。如果所添加的模块中有视图层的模块,将会进入子系统集成的配置界面。
Koala为你的项目提供了三个子系统集成,包括权限子系统,监控子系统以及通用查询子系统
选中复选框,以集成你需要集成的子系统,点击每个子系统右边的config可以进行更为详细的配置,具体参考各子系统的相关教程。
完成选择之后,点击Next按钮,进入最后的项目信息汇总展示页面。
该 页面展示了之前所填写的项目极其各模块的所有信息供用户核对。Project中显示了所填写的项目名称,Maven中显示了所填写的项目的maven信 息,包括Group Id,Artifact Id,Version和Description等内容。Modules中显示了所填写的各个模块的详细信息,包括模块类型,模块名称,模块间的依赖等内 容。如果发现信息有误,可点击Back按钮回到对应的向导页面去做修改。如果核对无误,点击Finish按钮完成项目信息的填写并根据所填信息开始生成项 目。
在生成项目完成之后会弹出导入项目的对话框。
选择要导入的项目和模块,点击Next按钮进入查看项目导入信息页面或直接点击Finish按钮开始项目和模块的导入。
点击Finish按钮开始导入项目和模块。
这样便完成了一个项目的创建,这是一个可运行的项目,默认集成了jetty服务器以支持开发
使用maven clean install编译这些项目,再运行它们
访问http://localhost:8080以查看效果
从现在开始,在生成的项目的基础上开发吧。
koala能在Myeclipse使用吗?######理论上应该是可以的######i have tried ,but failed.......it can not be set up properly......######我们没有针对myeclipse进行测试过######沙发,顶一个 ######
因为koala是eclipse插件形式存在,理论上没问题
少个maven创建工程的插件。真心不想安装太多莫名其妙的eclipse插件。
######回复 @御剑 : m2clipse也不想使用。一直都是mvn eclipse:eclipse搞定的。能否有mvn archetype create插件方式创建工程。不依赖eclipse向导######只需要m2eclipse这个插件,因为我们是基于maven来管理项目的######从来不用 eclipse 的我,如何使用?######回复 @御剑 : jetbrains IDEA######对不起,当前是基于插件的实现,你用的什么工具?版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。