java Playframework GlobalSettings 弃用 onStart

2023-12-13

我遇到了 Playframwork 已弃用的烦人问题GlobalSettings问题,我想把我的 conde 移到里面onStart按照建议的方式,但实际上我无法完成此操作,文档没有任何意义,而且我不知道如何解决这个问题,我花了几天又几天的时间试图做到这一点,但没有运气!

https://www.playframework.com/documentation/2.5.x/GlobalSettings

只是我想运行初始数据库方法

private void initialDB() {
        UserService userService = play.Play.application().injector().instanceOf(UserService.class);
        if (userService.findUserByEmail("[email protected]") == null) {
            String email = "[email protected]";
            String password = "1234";
            String fullName = "My Name";
            User user = new User();
            user.password = BCrypt.hashpw(password, BCrypt.gensalt());
            user.full_name = fullName;
            user.email = email;
            user.save();
        }
}

这是里面的onStart中的方法Global extends GlobalSettingsjava 文件,我尝试将其提取到外部模块,但没有成功。

public class GlobalModule extends AbstractModule {

    protected void configure() {
        initialDB();
    }
}

我在 Scala 中找到了一些解决方案,但不知道这在 java 中是如何实现的,但我没有时间学习它,除此之外我也不喜欢它。


您需要两个类 - 一个用于处理初始化,一个模块用于注册绑定。

初始化代码:

@Singleton
public class OnStartup {

    @Inject
    public OnStartup(final UserService userService) {
        if (userService.findUserByEmail("[email protected]") == null) {
            String email = "[email protected]";
            String password = "1234";
            String fullName = "My Name";
            User user = new User();
            user.password = BCrypt.hashpw(password, BCrypt.gensalt());
            user.full_name = fullName;
            user.email = email;
            user.save();
        }
    }
}

该模块:

public class OnStartupModule extends AbstractModule {
    @Override
    public void configure() {
        bind(OnStartup.class).asEagerSingleton();
    }
}

最后,将您的模块添加到application.conf.

play.modules.enabled += "com.example.modules.OnStartupModule"

通过使单例渴望,它将在应用程序启动时运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java Playframework GlobalSettings 弃用 onStart 的相关文章

  • 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

    我各位 我正在使用 junit 和 selenium web 驱动程序 2 28 问题是 如果我运行成功的测试用例 Web 驱动器能够关闭 Firefox 实例 但是当测试用例失败时 Selenium Web 驱动器无法关闭 Firefox
  • 如何在 JFace 的 TableViewer 中创建复选框?

    我创建了一个包含两列的 tableViewer 我想将其中一列设为复选框 为此 我创建了一个 CheckBoxCellEditor 但我不知道为什么它不起作用 名为 tableName 的列显示其值正常 色谱柱规格如下 String COL
  • 如何在一行中将字符串数组转换为双精度数组

    我有一个字符串数组 String guaranteedOutput Arrays copyOf values values length String class 所有字符串值都是数字 数据应转换为Double QuestionJava 中
  • ElasticBeanstalk Java,Spring 活动配置文件

    我正在尝试通过 AWS ElasticBeanstalk 启动 spring boot jar 一切正常 配置文件为 默认 有谁知道如何为 java ElasticBeanstalk 应用程序 不是 tomcat 设置活动配置文件 spri
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • ExceptionConverter:java.io.IOException:文档没有页面。我正在使用 iText

    当我执行下面的代码时 File f new File c sample pdf PdfWriter getInstance document new FileOutputStream f document open System out p
  • Convert.FromBase64String 方法的 Java 等效项

    Java 中是否有相当于Convert FromBase64String http msdn microsoft com en us library system convert frombase64string aspx which 将指
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • hibernate总是自己删除表中的所有数据

    您好 我正在开发一个 spring mvc 应用程序 它使用 hibernate 连接到存储文件的 mysql 数据库 我有两个方法 一个方法添加我选择的特定文件路径中的所有文件 另一种方法调用查询以返回从 mysql 存储的文件列表 问题
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • 在具有相同属性名称的不同数据类型上使用 ModelMapper

    我有两节课说Animal AnimalDto我想用ModelMapper将 Entity 转换为 DTO 反之亦然 但是对于具有相似名称的一些属性 这些类应该具有不同的数据类型 我该如何实现这一目标 动物 java public class
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 如何配置eclipse以保持这种代码格式?

    以下代码来自 playframework 2 0 的示例 Display the dashboard public static Result index return ok dashboard render Project findInv
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour

随机推荐

  • 有效删除 NumPy 中的行

    我有一个很大的 numpy 数组 其中有很多 ID 值 称之为 X X id rating 1 88 2 99 3 77 4 66 我还有另一个 坏ID 的numpy数组 它表示我想从X中删除的行 B 2 3 所以当我完成后 我想 X id
  • 如何在 Firebase 函数中获取提供程序访问令牌?

    我计划编写有关身份验证用户创建的 Firebase 函数 我的目标是获得 Facebook 用户页面的长期访问令牌 为此 我需要 Firebase 函数中的用户访问令牌 下面尝试过 exports saveLongLiveToken fun
  • 如何在 iOS 中检测视频文件是纵向录制还是横向录制

    我在用AlAssetsGroup enumerateAssetsAtIndexes列出照片 相机 应用程序中的资源 对于给定的视频资源 我想确定它是以纵向模式还是横向模式拍摄的 在下面的代码中 资产是AlAsset我已经测试过它是否是视频资
  • AWS VPC私有链接-API网关

    我有一个带有公有子网和私有子网的 VPC NLB 部署到私有子网 并且有 5 个侦听器 port 9000 forwarding to targetgroup 01 port 9001 forwarding to targetgroup 0
  • 为什么 nextjs 在构建时会在第一次加载时加载所有页面

    我在我的新网站中使用 nextJS 但 SEO 和网站的速度对我来说非常重要 我想做的是防止加载额外的资源文件 而我不需要它们 例如 当我在主页时 我不需要在后台加载常见问题解答或关于页面的资源 我是否可以阻止网站上的这些额外负载 先感谢您
  • 将自定义对象存储在 NSUserDefaults 中

    我试图按如下方式存储自定义对象 但出现错误 store data NSMutableArray archiveArray NSMutableArray arrayWithCapacity pOrderElements count for i
  • 细胞景观中折叠/扩张的复合节点

    cytoscape js 是否支持折叠 展开复合节点 Eg before collapsing node1 node1 1 node1 2 node1 2 1 崩溃后 node1 用于展开 折叠的 或 符号会很棒 寻找使用复合节点对一组节点
  • DataGridView 不允许用户删除行

    我有一个 DataGridView 如另一个问题 and AllowUserToDeleteRows被设定为true The docs比如说IBindingList AllowRemove还应该设置为true 然而List好像没有那个接口
  • 在 Weld/Seam3 应用程序上启动 POJO

    我试图在我的 Weld Seam3 应用程序中启动 POJO 但运气不佳 我尝试过以下方法 但没有一个起作用 Singleton public class StartupJobs Inject private Logger log publ
  • 扩展方法和 Razor 页面

    我在 app code 中定义了一个扩展方法 如下所示 public static class Extensions public static string Hi this object obj return hi 在剃刀页面 任何东西都
  • jQuery 隐藏元素,同时保留其在页面布局中的空间

    jQuery 中有没有一种方法可以隐藏元素 但在隐藏时不更改 DOM 我隐藏了某个元素 但是当它被隐藏时 它下面的元素会向上移动 我不希望这种事发生 我希望空间保持不变 但元素可以随意显示 隐藏 我可以这样做吗 代替hide use css
  • 匹配整个文档中的第一个元素? [复制]

    这个问题在这里已经有答案了 我想匹配整个文档中的第一个 H1 元素 然而 现在我面临着一个问题 我正在使用以下 CSS 选择器 h1 first child 但是 它与页面上的多个 H1 标签相匹配 我怎样才能让它只匹配第一个 没有这样的选
  • 如何在插入 RichEditBox 的图像中显示调整大小的装饰器?

    我正在尝试将调整大小的装饰器显示到插入到 UWP 应用程序的 RichEditBox 中的图像 到目前为止 我可以使用以下代码插入图像 private async void InsertImage var picker new FileOp
  • 从 Android 中以编程方式创建的父视图中查找子视图

    对于 Android 应用程序 我使用 GridView 并扩展 BaseAdapter 来组织其内容 对于我在扩展 BaseAdapter 类中重写的函数 getView 我创建了一个 LinearLayout 并在其中附加了一个 Ima
  • Android 模拟器和嵌套虚拟化

    我有个问题 我使用 hyper v 虚拟机来隔离开发过程 我在虚拟机上使用Windows 10 但我无法在我的虚拟机上安装虚拟机管理程序 如何在没有 hyper v 的情况下调试 xamarin forms 应用程序 Thanks 快速回答
  • 取消转义 mvc 应用程序返回的转义不可编码字符串的简单方法

    我已经检查了其他类似的问题 他们要么建议使用 WebUtility HtmlDecode 要么逐个字符替换编码部分 或者假设一些已知的正则表达式模式等 他们不回答这个特定的查询 我有一个 C 控制台应用程序 它将一些数据发送到 MVC 应用
  • 如何从 lldb 调试器类型切换到 gdb 调试器类型?

    我已经找了很长一段时间试图找出如何从 lldb 切换到 gdb 但找不到任何关于如何在 Xcode 6 1 中在两者之间切换的信息 我正在尝试调试我的应用程序 如果我使用 gdb 而不是 lldb 我也许能够弄清楚它 但我不知道它是否会对我
  • Material UI - 将图标作为道具传递

    我正在尝试通过 prop 将material ui 图标插入到我的组件中 请让我知道我做错了什么 但是 我不确定如何在 JSX 中传递图标 这是我的无效尝试 这个片段是我尝试将图标作为道具传递给类别组件
  • 元素在拖动后变得随机不可调整大小

    选择并拖动多个元素后 其中一些元素不再可调整大小 调整大小图标从右上角消失 可调整大小的图标保留在旧位置 并且不会移动已移动的元素 要重现 请运行下面的代码 使用套索选择所有元素并拖动选定的元素 之后 调整大小图标将从随机元素中消失 并且这
  • java Playframework GlobalSettings 弃用 onStart

    我遇到了 Playframwork 已弃用的烦人问题GlobalSettings问题 我想把我的 conde 移到里面onStart按照建议的方式 但实际上我无法完成此操作 文档没有任何意义 而且我不知道如何解决这个问题 我花了几天又几天的