我对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@company.com") == null) {
String email = "email@company.com";
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();
}
}
这是java文件中的内部onStart
方法Global extends GlobalSettings
,我尝试将其提取到外部模块,但没有运气。
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@company.com") == null) {
String email = "email@company.com";
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"
通过使单身人士渴望,它将在应用程序启动时运行。
问题内容: 在我的应用程序中,我有一些代码来获取中的主机范围。看起来像这样: Xcode一直警告我。但是,我不清楚如何用这些建议替换那些encodingOffsets。有任何想法吗? 问题答案: 一个简单而建立一个正确的方式从是使用它的初始化: 在您的情况下:
问题内容: 我刚刚在应用程序中添加了Hibernate的配置,而IntelliJ Idea抱怨此方言已被弃用: 似乎不是互联网上的明确解决方案,有什么建议吗? 问题答案: 您需要改用。 这在Javadoc中有记录: 不推荐使用。 改用PostgreSQL82Dialect 但是请注意,您应该使用与您使用的PostgreSQL JDBC驱动程序最匹配的方言(在此处列出)。例如,如果您使用的是Post
问题内容: 今天,我决定将我的android应用程序从Java转换为Kotlin!:)但是,当我输入以下内容时,我感到非常惊讶: 然后Android Studio告诉我:“’getActionView(MenuItem!):View!’ 已弃用。Java中已弃用“ 因此,在问您解决方案之前,我先问谷歌解决方案是什么,我相信我找到了解决方案:“直接使用getActionView()”。 所以我像这样
目前我正在开发一个带有三个菜单项的底部导航栏的应用程序。我曾使用来单击项目。但现在我面临的问题是该方法已贬值。 应用程序语言:Java 问题:“setOnNavigationItemSelectedListener(com.google.android.material.bottomnavigation.BottomNavigationView.OnNavigationItemSelectedLi
由于API 27已弃用。对此最好的替代方案是什么? 在我的例子中,我知道需要使用之类的东西,但我不知道在我的代码中这需要去哪里。 我在班上得到了这些进口货: 但是 被划掉了。
我一直在开发一个使用Google Drive API的Android应用程序。它最初是从这里的quickstart示例构建的。API调用的简化序列(此处未显示正确的错误处理)是: 它一直运行良好,我正准备发布我的应用程序。但是,在驱动器API更新之后,我突然收到一个警告 方法usingOAuth2(Context,String,String...)GoogleAccountCredential是不