草庐IT

JvmName注解

全部标签

java - 接口(interface)实现的@Override 注解出错

我正在使用JRE1.6版本,并意识到在将@Override与接口(interface)一起使用时出现JRE1.5问题。我导入了一个新项目(Spring+Maven)和Eclipse,只要任何接口(interface)方法被覆盖,Eclipse就会在每个@Override注释上给出错误。到目前为止我尝试过的事情检查项目和工作区特定的JRE和合规级别,它设置为1.6版本。检查了构建路径上的JRE库,它也是一样的。将项目方面的Java版本更改为1.6(不知道是否有帮助)Maven是否清理和安装(到现在已经数百次)注释的禁用错误/警告仍然不成功Eclipse重新启动(愚蠢的事情但帮了我很多时间

java - Spring @Value 注解方法,当属性不可用时使用默认值

情况我正在将.properties文件中的属性注入(inject)到用@Value注释的字段中。但是,此属性提供敏感凭据,因此我将它们从存储库中删除。我仍然希望以防万一有人想运行项目并且没有带有默认值将设置为字段的凭据的.properties文件。问题即使我将默认值设置为字段本身,当.properties文件不存在时我也会遇到异常:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'xxx':Injectionofautowireddependenciesfailed;nes

java - 测试 Spring @MVC 注解

前几天我遇到了一个问题,@Valid注释被意外地从Controller类中删除了。不幸的是,它没有破坏我们的任何测试。我们的单元测试都没有实际使用SpringAnnotationMethodHandlerAdapter路径。我们只是直接测试我们的Controller类。如果我的@MVC注释有误,我该如何编写单元测试或集成测试正确失败?有没有一种方法可以让Spring使用MockHttpServlet或其他东西找到并运行相关的Controller? 最佳答案 我为这种事情写集成测试。假设您有一个带有验证注释的bean:publiccl

java - 方法注释和注解……各自应该去哪里?

所以,假设我有一个包含如下注释的方法:@Overridepublicvoidbar(Stringx)如果我要向这段代码添加Javadoc注释,哪种方法是首选?任一个:/***@paramxAstringlol*/@Overridepublicvoidbar(Stringx)或者:@Override/***@paramxAstringlol*/publicvoidbar(Stringx) 最佳答案 第一个。注释适用于方法,而不适用于注释。这也是大多数IDE会执行的操作,因此也是最常见的。

java - Spring 注解@Autowired 内部方法

@Autowired可以与构造函数、setter和类变量一起使用。如何在方法或任何其他范围内使用@Autowired注释。?我尝试了以下,但它会产生编译错误。例如publicclasssTestSpring{publicvoidmethod(Stringparam){@AutowiredMyCustomObjctobj;obj.method(param);}}如果这是不可能的,有没有其他方法可以实现?(我使用的是Spring4。) 最佳答案 @Autowired注解本身是用注解的@Target({ElementType.CONSTR

java - Java注解什么时候执行?

我只是想写一些可以在运行时、调用服务方法之前或之后立即执行的注释。我不知道它们是在运行时还是编译时执行。 最佳答案 注解不执行;它们是由各种工具读取的注释或标记。有些由您的编译器读取,例如@Override;其他的嵌入在类文件中,并在运行时由Hibernate等工具读取。但他们自己什么都不做。您可能会想到assertions相反,它可用于验证前后条件。 关于java-Java注解什么时候执行?,我们在StackOverflow上找到一个类似的问题: https

java - JDK 1.6 中的@override 注解

我正在使用JDK1.6。当我实现一个接口(interface)并在实现类中时,如果我在函数名称前给出@override,Eclipse会抛出一个编译错误。即根据Eclipse,下面的代码是错误的。publicclassSomeListenerimplementsServletContextListener{@OverridepublicvoidcontextDestroyed(ServletContextEventarg0){//code}/*otheroverriddenmethodshere*/}如果我删除@Override注释,那么代码可以正常编译。是不是意味着JDK1.6不再要

java - 注解不是继承自接口(interface)方法

我有一个带有注释方法的接口(interface)。注释用@Inherited标记,所以我希望实现者继承它。然而,事实并非如此:代码:importjava.lang.annotation.Inherited;importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;importjava.lang.reflect.Method;importjava.util.Arrays;publicclassExample{publicstaticvoidmain(String[]args)throws

java - 将注解作为 super 接口(interface)时的@SuppressWarnings 值

我有一个实现注释的枚举,我收到了警告:注释类型A不应用作MyClass的超接口(interface)。@SuppressWarnings是否有处理此警告的值?我不想使用@SuppressWarnings("all"),我宁愿收到警告也不愿全部禁止。我正在使用Eclipse。 最佳答案 我相信@SuppressWarnings没有这样的值。如果有这样一个值,那么编译器会在警告的同时给你一个使用它的提示。因为它不存在,这可能意味着让您的枚举扩展注释不是一个好主意。如果您仍然想走那条路,那么我认为@SuppressWarnings("al

java - 如何通过 AnnotationProcessor 访问 TypeUse 注解

问题:是否可以通过注释处理器访问使用@Target(ElementType.TYPE_USE)注释注释的元素?是否可以通过注解处理器访问注解类型边界?非常感谢我错过的相关文档链接。上下文:注释:@Target(ElementType.TYPE_USE)@Retention(RetentionPolicy.SOURCE)public@interfaceTypeUseAnno{}示例类:publicclassSomeClassextendsHashMap{}处理器:@SupportedSourceVersion(SourceVersion.RELEASE_8)@SupportedAnnot