草庐IT

java - 如何在一个 JAR 中实现多个 SPI

假设我有一个接口(interface)com.example.Marker并且我确实有一个实现,例如com.example.MarkerImplA。要注册其中一个,我需要在META-INF/services/com.example.Marker中放置一个文本文件,如下所示com.example.MarkerImplA这就像一个魅力。现在,我在同一个jar文件中有另一个实现,例如com.example.MarkerImpl2。如何实现第二个的注册? 最佳答案 只需添加多行完全限定的提供者的类名因此,如果您的SPI是com.exampl

java - 在 Scala 中实现多级 Java 接口(interface)

我的interface在java中有以下层次结构publicinterfaceIdentifiable>extendsSerializable{publicTgetId();}publicinterfaceFunctionextendsIdentifiable{publicStringgetId();}publicabstractclassAdapterimplementsFunction{publicabstractStringgetId();}当我尝试在scala中实现Adapter时,如下所示classMultiGetFunctionextendsAdapter{defgetId

java - 即使在简单的 POJO Java 类中实现 java.io.Serializable 也是最佳实践吗?

一般来说,让简单的POJOJava类实现java.io.Serializable是最佳实践吗? 最佳答案 一般不会。约书亚布洛赫说implementSerializablejudiciously.他描述的缺点总结:降低了以后更改类实现的灵active-序列化形式是类API的一部分更有可能出现一些错误和安全漏洞-攻击者可以访问序列化字节流中的类内部增加了测试负担-现在您必须测试序列化!负担子类的作者——他们也必须使他们的子类可序列化当然,有时您需要一个POJO来实现可序列化,例如RMI,但如果不需要,没有它您的代码会更简单、更安全。

java - 如何在java中实现单位转换器

我怎么可能在Java中实现单位转换器???我在考虑有一个抽象基类:publicabstractclassUnit{...publicvoidconvertTo(Unitunit);}然后让每个类都像MeterKilometerInchCentimeterMillimeter...派生自该基类Unit。所有长度单位都在一个名为com.unitconverter.distance的包中,然后是一个包com.unitconverter.energy,用于能量等等。那么这是实现单位转换器的最佳方式吗?或者有更好或更简单的方法吗? 最佳答案

java - 如何在枚举单例中实现日志记录?

我正在使用枚举单例,但实现日志记录很麻烦。这:publicenumFoo{INSTANCE;privatefinalLoggerlog=Logger.getLogger(Foo.class.getName());...}记录器的实例化方式与我为普通Java类实例化记录器的方式相同,但是我当然会收到以下错误:Foo.java:illegalreferencetostaticfieldfrominitializer是否有等效的方法来登录枚举单例? 最佳答案 在回答您的问题时,只需将记录器设为静态...顺便说一句,我认为即使对于对象实例也

java - 如何在Java中实现构造函数包装?

这就是我想要做的(在Java1.6中):publicclassFoo{publicFoo(){Barb=newBar();b.setSomeData();b.doSomethingElse();this(b);}publicFoo(Barb){//...}}编译器说:calltothismustbefirststatementinconstructor有什么解决方法吗? 最佳答案 你可以这样实现它:publicclassFoo{publicFoo(){this(makeBar());}publicFoo(Barb){//...}pr

java - 如何在 Spring Framework 中实现 i18n(带有 gTLD 的子目录)?

我正在开发一个使用SpringFramework、Spring(MVC)、SpringSecurity等的Web应用程序...Spring文档显示国际化在URL中添加一个参数(例如http://myexample.com?lang=fr)但是我已经通过谷歌阅读了这篇文章"Multi-regionalandmultilingualsites"其中声明不推荐这种做法。所以我决定这样实现:http://myexample.com/->默认语言环境(EN)http://myexample.com/es/->语言环境eshttp://myexample.com/fr/->语言环境fr我的问题是:

java - 在 J2ME 中实现 Floggy 框架

我正在使用J2ME创建一个应用程序。为了与数据库连接,我正在使用RecordStore。这是首先获取所有记录并遍历它来搜索记录。但我有数千条记录,我只需要一些基于标准的记录——有什么办法可以解决这个问题吗?我不想遍历数千条记录以获得十条记录。我在http://floggy.sourceforge.net/找到了Floggy框架我认为它会更好,但我找不到任何合适的引用来配置它。有人知道我可以在我的J2ME应用程序中配置Floogy吗?我只想要一个具有类似标准的RMS,请参阅我的其他问题:Databasequeryj2meincludingcriterias错误堆栈跟踪:Createddi

java - 谁在 Java 中实现操作系统接口(interface)?

我的问题主要与标准有关,但也欢迎就具体实现如何处理该问题提出意见。因此,无需进一步重做,我的问题是;谁负责Java操作系统接口(interface)?Java虚拟机?还是Java类库?还有这通常是如何通过Javanative接口(interface)实现的?例子;我正在使用java.io.FileReader读取文件。当在这个对象上调用read时,JVM显然会在正确的类文件中,在JCL中调用这个函数,但是这个代码最终会依赖JVM进行调用,例如posix阅读功能?-还是类文件会通过使用JNI自行执行此操作?(假设必须执行读取,即文件不在缓存/内存中) 最佳答案

java - 如何在 Java 中实现 OAuth 提供程序?

我在尝试实现OAuth提供程序时遇到了很多问题。我想知道是否有人使用Java成功使用过Oauth提供程序?我找到了很多库,但所有这些库的评论都非常糟糕,我无法使用它们。我接受任何解释oauth提供者应该如何工作和/或如何实现它的文档。情况:我的服务器上的MySQL中有一些数据,我想授权“依赖方”通过OAuth进行访问,但我不确定该怎么做。 最佳答案 我假设您想使用Oauth保护您的服务器端服务?您没有说明您使用的是哪种服务器端技术。例如,对于基于REST的服务器,Jersey和Resteasy已经集成了Oauth。此外,这似乎是一个