草庐IT

CLASS_NAME

全部标签

java - web.xml的<filter-mapping>里面的<servlet-name>是什么意思?

我开始学习Struts2。我偶然发现了这段代码:web.xml...someothercodes...MyFilterMyFiltercom.xxx.yyy.zzz.MyFilterMyFilterMyActioncom.xxx.yyy.StrutsListenerMyActionorg.apache.struts.action.ActionServletparamName1param-name>paramVal1paramName2paramVal21...someothercodes...我的问题在这部分MyFilterMyAction为什么在中映射一个servlet标签?这种映射

java - Apache 公共(public) CLI : how to prevent using short-name for options?

在ApacheCommonsCLI库中,是否可以绕过短名称的使用,从而强制用户使用长名称?通常,选项定义如下:newOption("u","username",true,"automaticusername")我想禁止使用“u”。但是,如果我用null或空字符串替换它,就会出现异常...为什么有这个要求?我希望我的所有选项都只采用--optionName=optionValue的形式,因为我的应用程序的某些部分是SpringBoot并且SpringBoot默认识别这种格式的选项。此外,为了在开发人员和用户之间保持一致并简化文档,我发现如果我们有一种独特的方式来使用一个选项而不是2个选项

java - 创建将调用父类(super class)方法的非捕获方法引用

我正在尝试重构以下代码:classBase{privateObjecta,b,;//there'slike10oftheseattributesofdifferenttypepublicObjecta(){returna;}publicObjectb(){returnb;}//moregettersliketheonesabove}classRootNodeextendsBase{}classBranchNodeextendsBase{privateRootNoderoot;//passedviaconstructorpublicObjecta(){Objectvalue=super.

来自 JDK 1.6 的 JavaCompiler : how to write class bytes directly to byte[] array?

所以我最近了解到新的JavaCompilerAPI在JDK1.6中可用。这使得直接从运行代码将String编译为.class文件变得非常简单:StringclassName="Foo";StringsourceCode="...";JavaCompilercompiler=ToolProvider.getSystemJavaCompiler();ListunitsToCompile=newArrayList(){{add(newJavaSourceFromString(className,sourceCode));}};StandardJavaFileManagerfileManage

java.util.MissingResourceException : Can't find bundle for base name

我正在测试Java的i18n特性,遇到一个问题,当语言文件不在类根目录中时,我无法加载它。现在我的文件在/lang目录中。在SO中查看了几个答案,将其放在classes子目录中并像lang.Messages一样加载它,使用完整的位置路由/Test/lang/Message(测试是项目名称),仅使用/lang/Message我仍然得到:java.util.MissingResourceException:Can'tfindbundleforbasename错误。还有什么可以尝试的吗?我的文件结构是:Test/lang/Messages_es.propertiesTest/src/test

java - equals() 的实现 : compare against implemented interface or implementing class?

我一直想知道如何最好地为所有实现相同接口(interface)的类系列实现equals()(并且客户端应该只使用所述接口(interface)并且永远不知道实现类)。我还没有编写自己的具体示例,但JDK中有两个示例-java.lang.Number和java.lang.CharSequence可以说明该决定:booleanb1=newByte(0).equals(newInteger(0)));或使用CharSequencebooleanb2="".equals(newStringBuilder());理想情况下,您是否希望这些评估为真或假?这两种类型都实现了相同的数据类型接口(int

java - 需要了解Hibernate配置的transaction.factory_class

在我的hibernate.cfg.xml文件中,其中一个属性是-org.hibernate.transaction.JDBCTransactionFactory其他属性很容易理解。但是,当我看到上述属性时,我想到了很多问题。第1行-这指定了实现Transaction*Factory*接口(interface)的类。Q1-我看到了TransactionFactory的java文档,但不明白它到底是什么。这个“工厂”是什么意思?他们为什么不按照行称它为TransactionGenerator-ContractforgeneratingHibernateTransactioninstance

java - 为什么class需要实现serializable marker interface进行序列化?

这个问题在这里已经有了答案:WhyJavaneedsSerializableinterface?(13个答案)关闭9年前。技术上我知道为什么类需要实现可序列化。原因是ObjectOutputStream的writeObject方法在写入对象状态之前在内部检查“可序列化实例”。但我的问题是,这样做有什么必要?writeObject方法可以简单的写出对象的状态无论对象(需要写的状态)是否实现了serializable?根据wiki,类实现此接口(interface)以指示其非transient数据成员可以写入ObjectOutputStream。但同样的问题是为什么类需要实现可序列化来确定

java - Spring 处理程序拦截器 : how to access class annotations?

我用下面的代码注册了我的拦截器@EnableWebMvcpublicclassWebMvcConfigextendsWebMvcConfigurerAdapter{...@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){registry.addInterceptor(myInterceptor());}...}这里是拦截器定义publicclassMyInterceptorimplementsHandlerInterceptor{@OverridepublicbooleanpreHandle(HttpServ

java - Mockito 匹配器 : matching a Class type in parameter list

我正在使用Eclipse处理Java、Spring的RestTemplate和Mockito。我正在尝试模拟Spring的rest模板,我模拟的方法的最后一个参数是类类型。下面是函数的签名:publicResponseEntityexchange(URIurl,HttpMethodmethod,HttpEntityrequestEntity,ClassresponseType)throwsRestClientException我最初尝试模拟这个方法如下://givenrestTemplatereturnsexceptionwhen(restTemplate.exchange(isA(U