草庐IT

Annotations

全部标签

java - 是否可以忽略某些单元测试?

我目前正在从事一个在所有模块中广泛使用JUnit4的项目。我们使用Maven2构建项目,使用Hudson进行持续集成。该项目在Java1.5下构建和运行。我们最近添加了大量有时需要的单元测试,但不希望在构建过程中运行(但同一项目中的其他单元测试会运行)。我想知道是否有某种注释可以应用于测试,或者可以对Maven进行的某些配置会忽略在构建时位于某个包下或某个测试类中的单元测试?有可能将这些特定测试放在通过main运行的普通类中,但这并不理想。感谢您的建议 最佳答案 您可以配置maven-surefire-plugin.例如:org.a

java - 你能解释一下 Java 中的 "isXxx"方法名吗?

是否在其中一个规范中引用了以“is”开头的方法,而方法名称的后缀是属性名称(类似于Javabean的getter/setter方法)?例如:publicbooleanisConditionTrue(){......}privatebooleanconditionTrue;谢谢! 最佳答案 这是Java命名约定,Ifthemethodreturnsabooleanvalue,useisorhasastheprefixforthemethodname.Forexample,useisOverdrawnorhasCreditLeftfor

Java 反射 : Find method usage in custom AbstractProcessor

我是反射(reflection)中的新手。有什么方法可以检测特定方法在哪里被调用?例如:publicclassMyClass{publicstaticvoidmethod(){//DOSOMETHING}}publicclassTest{publictest(){MyClass.method();}}publicclassMyProcessorextendsAbstractProcessor{publicbooleanprocess(Setannotations,RoundEnvironmentroundEnv){Methodmethod=MyClass.class.getDeclar

java - 如何在最终编译前使用java注解修改源代码?

我从apt工具页面上读到可以创建AnnotationProcessors到generatenewderivedfiles(sourcefiles,classfiles,deploymentdescriptors,etc.).我正在寻找这样做的例子。我的需要是在编译时对所有带注释的字符串进行编码,以便读取类文件不允许读取静态字符串:基本代码:Stringmessage=(@Obfuscated"astringthatshouldnotbereadableinclassfile");应该改写为:Stringmessage=newObfuscatedString(newlong[]{0x86

Java 的编译器不保留通用方法注释?

我目前遇到了Java的通用类型删除和运行时注释的问题,我不确定是我做错了什么还是Java编译器中的错误。考虑以下最小工作示例:@Target({ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Inheritedpublic@interfaceMyAnnotation{}publicinterfaceMyGenericInterface{voidhello(Tthere);}publicclassMyObject{}publicclassMyClassimplementsMyGenericI

java - 有什么方法可以知道在 Jersey @__Param fromString 处理程序中正在解析哪个参数?

我正在使用的API已决定接受UUID作为Base32编码字符串,而不是UUID.fromString()的标准十六进制破折号分隔格式。期望。这意味着我不能简单地将@QueryParamUUIDmyUuid写为方法参数,因为转换会失败。我正在通过使用不同的fromString转换器编写一个自定义对象来解决这个问题,以便与Jersey@QueryString和@FormParam注释。我希望能够在fromString方法中访问转换的上下文,以便我可以提供更好的错误消息。现在,我所能做的就是:publicstaticBase32UUIDfromString(StringuuidString)

java - 使通用类型可用的注释

给定一个通用接口(interface),如interfaceDomainObjectDAO{TnewInstance();add(Tt);remove(Tt);TfindById(intid);//etc...}我想创建一个指定类型参数的子接口(interface):interfaceCustomerDAOextendsDomainObjectDAO{//customer-specificqueries-incidental.}实现需要知道实际的模板参数类型,但当然类型删除方法在运行时不可用。我可以包含一些注释来声明接口(interface)类型吗?有点像@GenericParamet

java - 如何强制 Java 子类定义注解?

如果一个类定义了一个注解,是否有可能以某种方式强制其子类定义相同的注解?例如,我们有一个共享@Author@interface.的简单类/子类对我想做的是强制每个进一步的子类定义相同的@Author注释,防止RuntimeException在路上的某个地方。测试类.java:importjava.lang.annotation.*;@Retention(RetentionPolicy.RUNTIME)@interfaceAuthor{Stringname();}@Author(name="foo")publicabstractclassTestClass{publicstaticStr

java - @PreAuthorize 不适用于方法安全规则和方法参数

我正在将SpringSecurity添加到一个Spring项目中。系统架构为REST,用户可以访问不同的资源。我愿意将个人信息的访问权限授予作为此信息所有者的管理员和用户。我从简单开始:像这样过滤用户配置文件:在我的服务层中,我想使用方法注释并包含方法参数..@PreAuthorize("hasRole('ROLE_ADMIN')orprincipal.userId==#id")publicUsuariogetUser(intid)throwsDAOException{...}但这根本不起作用。当请求此URL(Web层)时,任何用户都可以看到所有配置文件(管理员和所有用户):@Requ

java - Hibernate 在子类中映射第二个@Embeddable 字段

我正在尝试在子类中映射一个@Embeddable对象,该子类的父类已经具有该@Embeddable类型的字段。hibernateEmbeddableObjectsdocumentation声称我可以使用@AttributeOverrides来覆盖@Embeddable对象的列名:例如@EntitypublicclassPersonimplementsSerializable{//PersistentcomponentusingdefaultsAddresshomeAddress;@Embedded@AttributeOverrides({@AttributeOverride(name=