`
desert3
  • 浏览: 2158622 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

play Modules & 使用成熟的Java模块、框架、Spring & 模块和插件的区别

 
阅读更多
play module repository:这里的模块仓库是给Play 1.x用的(注意,这里的所有module都是定制的,譬如spring-1.0.2module,1.0.2是模块的版本,而里面包含的sprin的版本是2.5.5)。Play 2.x的模块可以放在Ivy, Maven 或者 Git仓库。

play 1.x的Spring模块:允许在play中使用Spring来管理java bean。其源代码和使用方法在https://github.com/pepite/Play--framework-Spring-module

安装spring模块:使用命令play install spring-{version}在本地安装
项目中使用spring模块:在dependencies.yml中使用下述命令来引入对spring模块的依赖。
require:
    - play -> spring {version}

模块和插件的区别:模块是用来给你主应用程序服务的小应用程序。插件是一些java代码,这些java代码和Play内部的插件机制打交道。
The first is word is module and the second is plugin. Module means the little application which serves your main application, where as plugin represents a piece of Java code, which connects to the mechanism of plugins inside Play.
编写自己的模块Play Framework: Introduction to Writing Modules

引用自己编写的模块、外网的模块、play 1.x自带的模块:在编写模块的conf目录下dependencies.yml文件中,通过self: customModules -> firstmodule 1.0来表明模块的版本和名字。依赖编写完成后,执行play命令后会在当前项目目录下生成modules文件夹,里面是需要引用的模块内容。
dependencies.yml
require:
    - play
    # 默认引用play 1.x仓库中的模块
    - play -> spring 1.0.1
    # 依赖自己编写的模块firstmodule,模块的内容从本地仓库中找
    - customModules -> firstmodule
    # 引用googlecode仓库中的模块
    - com.googlecode.lambdaj -> lambdaj 2.3.3

repositories:

    - playCustomModules:
        # 注意,type是local代表,仓库在本地文件
        type: local
        # 这里用绝对路径,或者使用${play.path}代表play的安装路径
        artifact: "/absolute/path/to/firstmodule/"
        contains:
            # 这个名字和上面本地依赖时的名字想对应
            - customModules -> *

    - googlecode:
        type:  iBiblio 
        root: "http://lambdaj.googlecode.com/svn/repo/releases/"
        contains: 
            - com.googlecode.lambdaj -> * 

模块的构成
由下面的内容可以看到,模块的构成和一般的play应用程序很类似。都有models、views、tags、controllers、conf目录。
其中的区别就是module中不应该有application.conf文件。而在模块的根目录中多出来2个文件,1,build.xml:ant文件,用来编译模块,并根据编译后的代码生成以模块名字命名的jar包,放置到lib目录; 2,commands.py:python文件,可以在里面增加一些特殊的指定,比如play firstmodule:hello
其他额外需要的jar包也放置在lib目录,在模块被加载的时候,这里的所有jar包会自动放置到classpath中。
src文件夹放置模块的内容,包含模块的逻辑和模块插件的代码,同时包含play.plugins文件,play.plugins文件中包含一行内容1000:play.modules.spring.SpringPlugin,前面的数字代码应用程序加载模块时的顺序,数字越小,越早被加载。后半部分代码模块插件的入口。
当使用Play new-module命令来创建模块的时候,会自动创建上面的所有文件和文件夹,如果其中的部分文件、文件夹不需要,那么最好删除使得模块看起来更加容易理解。
app/controllers/firstmodule
app/models/firstmodule
app/views/firstmodule
app/views/tags/firstmodule
build.xml
commands.py
conf/messages
conf/routes
lib
src/play/modules/firstmodule/MyPlugin.java
src/play.plugins
分享到:
评论

相关推荐

    2023全球人工智能研究院观点报告:生成式人工智能对企业的影响和商业前景

    内容概要:报告详细介绍了生成式人工智能对企业和消费者的影响及其商业前景。生成式人工智能通过生成与训练数据相似的新颖数据,提升了人工智能从‘赋能者’到‘协作者’的角色。报告讨论了生成式人工智能的技术基础,如Transformers,以及在消费者和企业中的应用案例。文中指出,生成式人工智能可以优化企业的工作流程,提高效率和创新能力,但同时强调了安全性、数据隐私和道德等问题。 适合人群:企业高管、技术领导者、数据科学家、产品经理等。 使用场景及目标:帮助企业理解和评估生成式人工智能的商业潜力,优化内部流程,提高效率和创新力,以及防范潜在的风险。 其他说明:生成式人工智能正处于快速发展的初期阶段,各行业都有广阔的应用前景,但需要注意监管和风险管理。

    2024年第三季度深圳房地产市场回顾-CBRE.pdf

    2024年第三季度深圳房地产市场回顾-CBRE

    【java毕业设计】springboot南皮站化验室(springboot+vue+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java 框架:ssm jdk版本:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse 部署容器:tomcat7+

    【路径规划】基于matlab单障碍物和多障碍物的机器人避达问题仿真【Matlab仿真 7339期】.md

    CSDN Matlab武动乾坤上传的资料均有对应的代码,代码均可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    ccc2.4.13 内置inspector改造

    ccc2.4.13 内置inspector改造

    “人力资源+大数据+薪酬报告+涨薪调薪”

    人力资源+大数据+薪酬报告+涨薪调薪,在学习、工作生活中,越来越多的事务都会使用到报告,通常情况下,报告的内容含量大、篇幅较长。那么什么样的薪酬报告才是有效的呢?以下是小编精心整理的调薪申请报告,欢迎大家分享。相信老板看到这样的报告,一定会考虑涨薪的哦。

    基于android北京地铁小助手有导航功能.zip

    内容概要:本资源聚焦 Android 编程实战,包含毕业设计示例、完整的 Android 项目源码及文档分享。采用 MVC 模式进行架构设计,结合 JSP 技术与 SQL Server 2000 数据库管理系统,实现高效的 Android 应用开发。 适用人群:Android 开发初学者、计算机专业学生进行毕业设计参考、希望提升 Android 开发技能的程序员。 实用场景及目标:适用于开发各类 Android 应用项目,帮助开发者快速构建稳定、功能丰富的应用程序,同时为毕业设计提供优质的模板和思路。 说明:资源提供了详细的代码注释和文档说明,方便学习者理解和上手,助力提升 Android 开发能力和项目实战经验。

    仿新浪微博下拉刷新继承FrameLayout.zip

    内容概要:本资源聚焦 Android 编程实战,包含毕业设计示例、完整的 Android 项目源码及文档分享。采用 MVC 模式进行架构设计,结合 JSP 技术与 SQL Server 2000 数据库管理系统,实现高效的 Android 应用开发。 适用人群:Android 开发初学者、计算机专业学生进行毕业设计参考、希望提升 Android 开发技能的程序员。 实用场景及目标:适用于开发各类 Android 应用项目,帮助开发者快速构建稳定、功能丰富的应用程序,同时为毕业设计提供优质的模板和思路。 说明:资源提供了详细的代码注释和文档说明,方便学习者理解和上手,助力提升 Android 开发能力和项目实战经验。

    vgg模型-通过CNN卷积神经网络的历史遗迹识别-不含数据集图片-含逐行注释和说明文档.zip

    本代码是基于python pytorch环境安装的。 下载本代码后,有个环境安装的requirement.txt文本 首先是代码的整体介绍 总共是3个py文件,十分的简便 本代码是不含数据集图片的,下载本代码后需要自行搜集图片放到对应的文件夹下即可 需要我们往每个文件夹下搜集来图片放到对应文件夹下,每个对应的文件夹里面也有一张提示图,提示图片放的位置 然后我们需要将搜集来的图片,直接放到对应的文件夹下,就可以对代码进行训练了。 运行01生成txt.py,是将数据集文件夹下的图片路径和对应的标签生成txt格式,划分了训练集和验证集 运行02CNN训练数据集.py,会自动读取txt文本内的内容进行训练,这里是适配了数据集的分类文件夹个数,即使增加了分类文件夹,也不需要修改代码即可训练 训练过程中会有训练进度条,可以查看大概训练的时长,每个epoch训练完后会显示准确率和损失值 训练结束后,会保存log日志,记录每个epoch的准确率和损失值 最后训练的模型会保存在本地名称为model.ckpt 运行03pyqt界面.py,就可以实现自己训练好的模型去识别图片了

    【java毕业设计】springboot共享经济背景下校园闲置物品交易平台(springboot+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java 框架:ssm jdk版本:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse 部署容器:tomcat7+

    zadig-2.9.rar

    zadig-2.9.rar USB JTAG/serial debug unit

    竖直SeekBar源码.zip

    内容概要:本资源聚焦 Android 编程实战,包含毕业设计示例、完整的 Android 项目源码及文档分享。采用 MVC 模式进行架构设计,结合 JSP 技术与 SQL Server 2000 数据库管理系统,实现高效的 Android 应用开发。 适用人群:Android 开发初学者、计算机专业学生进行毕业设计参考、希望提升 Android 开发技能的程序员。 实用场景及目标:适用于开发各类 Android 应用项目,帮助开发者快速构建稳定、功能丰富的应用程序,同时为毕业设计提供优质的模板和思路。 说明:资源提供了详细的代码注释和文档说明,方便学习者理解和上手,助力提升 Android 开发能力和项目实战经验。

    weixin295微信小程序选课系统+ssm后端毕业源码案例设计.zip

    weixin295微信小程序选课系统+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    【路径规划】基于matlab A_Star多机器人避障路径规划【Matlab仿真 3934期】.md

    CSDN Matlab武动乾坤上传的资料均有对应的代码,代码均可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【java毕业设计】SpringBoot在线智慧考公系统(springboot+vue+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java 框架:ssm jdk版本:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse 部署容器:tomcat7+

    【路径规划】基于matalb A_Star算法求解六边形栅格地图路径规划【Matlab仿真 2623期】.md

    CSDN Matlab武动乾坤上传的资料均有对应的代码,代码均可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于OpenWrt系统,加入了Phytium CPU和开发板的支持,开发者可以在Phytium CPU上使用OpenWrt系统

    Phytium OpenWrt 是基于OpenWrt系统,加入了Phytium CPU和开发板的支持,开发者可以在Phytium CPU上使用OpenWrt系统。

    JS实现的虚化雪景动态背景特效源码.zip

    JS实现的虚化雪景动态背景特效源码

    ElasticSearch同步MySQL环境搭建笔记

    ElasticSearch同步MySQL环境搭建笔记

    alexnet模型-基于深度学习对水族馆生物识别-不含数据集图片-含逐行注释和说明文档.zip

    本代码是基于python pytorch环境安装的。 下载本代码后,有个环境安装的requirement.txt文本 首先是代码的整体介绍 总共是3个py文件,十分的简便 本代码是不含数据集图片的,下载本代码后需要自行搜集图片放到对应的文件夹下即可 需要我们往每个文件夹下搜集来图片放到对应文件夹下,每个对应的文件夹里面也有一张提示图,提示图片放的位置 然后我们需要将搜集来的图片,直接放到对应的文件夹下,就可以对代码进行训练了。 运行01生成txt.py,是将数据集文件夹下的图片路径和对应的标签生成txt格式,划分了训练集和验证集 运行02CNN训练数据集.py,会自动读取txt文本内的内容进行训练,这里是适配了数据集的分类文件夹个数,即使增加了分类文件夹,也不需要修改代码即可训练 训练过程中会有训练进度条,可以查看大概训练的时长,每个epoch训练完后会显示准确率和损失值 训练结束后,会保存log日志,记录每个epoch的准确率和损失值 最后训练的模型会保存在本地名称为model.ckpt 运行03pyqt界面.py,就可以实现自己训练好的模型去识别图片了

Global site tag (gtag.js) - Google Analytics