草庐IT

内包装

全部标签

java - 用 Ruby (JRuby) 包装现有 Java 库的最佳方法

我希望将ruby​​(JRuby)包装器放在中型Java库上,并且正在寻找有关从打包到策略的所有最佳实践的建议和文章。我在这里找到了关于此主题的相对过时的(2009年)讨论:http://www.ruby-forum.com/topic/188447.我希望使用最新版本的JRuby。 最佳答案 我已经为Java库(Eurydice、HotBunnies、MessagePack、Rubydoop和Mikka等)编写了一些包装器。其中一些只是适配Java库的JRuby代码,其中一些包括与JRuby运行时接口(interface)的Jav

java - Spring bean 如何检测它自己是否已包装在 AOP 代理中?

每当执行带有@Transactional注释的DAO方法时,我们使用Spring的TransactionInterceptor使用ThreadLocal设置一些数据库分区信息。我们需要它能够将我们的查询路由到不同的数据库分区。这适用于大多数DAO方法://thiscausestheinvokemethodtosetathread-localwiththehostnameof//thedatabaseserverthepartitionison@TransactionalpublicintdeleteAll()throwsLocalDataException{问题是当我们需要在DAO内部

java - try-with-resources 在哪里用 InputStreamReader 包装流?

我可能想多了,但我只是写了代码:try(InputStreamin=ModelCodeGenerator.class.getClassLoader().getResourceAsStream("/model.java.txt")){modelTemplate=newSimpleTemplate(CharStreams.toString(newInputStreamReader(in,"ascii")));}这意味着InputStreamReader永远不会关闭(但在这种情况下我们知道它的关闭方法只是关闭底层的InputStream。)可以这样写:try(InputStreamReade

java - Log4j 单例包装器的好处?

我最近继承了一些Java代码,需要将其集成到我正在从事的项目中。我的项目是一个处理和转换XML消息的服务代理。在查看新代码时,我发现了以下日志记录类:importorg.apache.log4j.BasicConfigurator;importorg.apache.log4j.Level;importorg.apache.log4j.Logger;publicclassMyLogger{privatestaticMyLoggerinstance=null;protectedfinalstaticLoggerlog=Logger.getLogger(MyLogger.class);pri

java - 在 Java 中交换两个字符串,通过将它们传递给实用函数,但不返回对象或使用包装类

我正在尝试在Java中交换两个字符串。我从来没有真正理解“字符串是不可变的”。我在理论上理解它,但在实践中我从未遇到过。此外,由于String在Java中是一个对象而不是原始类型,我不明白为什么下面的代码打印相同的结果两次,而不是交换单词!publicstaticvoidmain(String[]args){Strings1="Hello";Strings2="World";System.out.println(s1+""+s2);Swap(s1,s2);System.out.println(s1+""+s2);}publicstaticvoidSwap(Strings1,String

java - 使用 swagger UI 记录包装的 REST 响应

我有一个WidgetDto,我已经用swaggerUI注释进行了注释。最终响应用一层元数据包装WidgetDto列表(每页21ofthisRESTful最佳实践文档)。例如:{"data":[{"id":1234,"prop1":"val1"...},{"id":5678,"prop1":"val2"...},...]}我的java代码如下所示:@GET@Produces(MediaType.APPLICATION_JSON)@ApiOperation(value="Getallwidgets.",response=WidgetDto.class)@ApiResponses(value

java - 如何在 Java 中实现包装装饰器?

问题是创建现有对象的动态增强版本。我无法修改对象的Class。相反,我必须:子类化将现有对象包装在新的Class中将所有原始方法调用委托(delegate)给包装对象实现由另一个接口(interface)定义的所有方法添加到现有对象的接口(interface)是:publicinterfaceEnhancedNode{NodegetNode();voidsetNode(Nodenode);SetgetRules();voidsetRules(Setrules);MapgetGroups();voidsetGroups(Mapgroups);}与ByteBuddy我设法子类化并实现了我的

java - 生成的 javadoc 页面不必要地用注释包装方法参数

如果我为方法生成javadoc,则方法参数/异常会不必要地换行,如下所示:页面上有足够的水平空间。使用Oraclejavadoc.exe8u60。如何在不手动编辑HTML文件的情况下避免这些不必要的换行?这是截图中显示部分的源代码:MethodDetailgetRootWord@NotNullpublic String getRootWord()setRootWordpublic void setRootWord(@NotNullString rootWord)getAdjectiveDeclension@NotNullpublic&n

java - 使 JAXB XJC 为简单类型生成包装类

我有以下xml类型:FaxNumber类型如下所示:生成的xml应该是这样的:38783743878334343878334当运行JAXBXJC从XSD生成java类时,它会生成以下类:@XmlType(name="FaxNumbers")publicclassFaxNumbers{/***Nocomment.*/@XmlElement(name="FaxNumber",required=true)protectedListfaxNumber=newArrayList();}但是我想像这样将FaxNumber绑定(bind)到复合类:@XmlType(name="FaxNumbers"

java - 使用具有返回值的同步方法包装一系列异步调用

我当前的代码使用一系列最终产生结果的异步过程。我需要以一种同步方法访问每个方法并将结果作为返回值的方式包装它们中的每一个。我想使用执行器服务来执行此操作,以允许其中许多同时发生。我感觉Future可能与我的实现相关,但我想不出实现这一目标的好方法。我现在拥有的:publicclassDoAJob{ResultObjectresult;publicvoidstepOne(){//PassesselfinforacallbackotherComponent.doStepOne(this);}//CalledbackbyotherComponentonceithascompleteddoSt