草庐IT

annotations

全部标签

java - 注释不起作用

我正在研究一个注释,旨在强制类不可变。这里是处理器的代码:@SupportedAnnotationTypes("archipel.immutability.IsImmutable")@SupportedSourceVersion(SourceVersion.RELEASE_6)publicclassIsImmutableProcessorextendsAbstractProcessor{@Overridepublicbooleanprocess(Setannotations,RoundEnvironmentroundEnv){for(TypeElementtype:annotation

java - Spring:委托(delegate)给自定义代理包装器进行接口(interface)注入(inject)

在一个非常大的遗留应用程序中,我有一些接口(interface)和类不实现这些接口(interface)。接口(interface)是基于类生成的,所以签名相同(除了接口(interface)在上面添加了另一个异常(exception))并且名称相似(因此很容易从接口(interface)名称中找到类名)。为了实现接口(interface),我们进行了一系列处理和记录调用,但基本上使用java.lang.reflect.Proxy委托(delegate)给类。简化后看起来像这样://ThiswillcreateaproxyandinvokehandlerthatcallsHelloWo

java - 自动包装@Repeatable 注解的顺序

以前,我习惯于手工声明一个wrapperannotation,用一个数组,然后这样调用它:@Foos({@Foo(0),@Foo(1),@Foo(2)})publicvoidbar(){}因为我是用{...}初始值设定项创建一个数组,当我稍后通过反射访问此方法时,很明显顺序与声明的顺序相同。但是,当我使用Java8中新的@Repeatable注释时,我能保证顺序会被保留吗?我声明了一组简单的注解:public@interfaceFoos{Foo[]value();}@Repeatable(Foos.class)public@interfaceFoo{intvalue();}并使用最多样

java - 如何让 Jackson mixin 与私有(private)字段一起工作?

我正在尝试使用Jackson2.0mixin来序列化一个没有注释的类。下面是简化的源代码。请注意,我没有使用getters/setters,但似乎我仍然可以使用mixinsaccordingtothedocumentation.publicclassNoAnnotation{privateDatecreated;privateStringname;//makeonewithsomedatainitfortheteststaticNoAnnotationmake(){NoAnnotationna=newNoAnnotation();na.created=newDate();na.name

java - 特性切换 Java 注解

如何切换java注释?简单的功能切换:-如果(启用切换)做xSpring允许使用“配置文件”来切换bean。我使用它们,它们很好,但我想在字段或类上切换注释。我该怎么做?用例,我有一个带有jpa注释的类。我希望能够通过配置标记某些字段在某些环境中为@transient。 最佳答案 如前所述,尝试“禁用”注释虽然有可能,但并不是解决问题的最佳方法。正如AdrianShum所说,您应该改变框架处理注解的方式。在您的情况下,您的JPA实现(例如Hibernate)下应该有一些ORM提供程序。大多数ORM都有一些方法来提供自定义功能,例如在

java - @Service 是否保证 Spring 中的唯一性?

假设一个类被注解为@Service,Spring是否保证注入(inject)类的唯一实例?或者我应该在每项服务上放置@Scope("singleton")吗? 最佳答案 来自docsThesingletonscopeisthedefaultscopeinSpring因此无需明确设置。 关于java-@Service是否保证Spring中的唯一性?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

java - 如何在表单、验证和ddl中重用fieldlength?

我正在开发一个包含大量输入表单的Spring应用程序。我想在UI表单、验证和JPA注释中重用字段长度。有没有一种优雅的方法来解决这个问题。我目前的解决方案是,使用常量来声明长度:publicclassPerson{publicstaticfinalintFIRSTNAME_LENGTH=25;@Column(length=FIRSTNAME_LENGTH)privateStringfirstName;...}然后在Validator和Jsp中重用常量..."/>...这很冗长。这个问题有没有更优雅的解决方案? 最佳答案 很有可能访问

Java - 注册所有用@MyAnnotation 注释的类

我有一个注解@MyAnnotation,我可以用它来注解任何类型(类)。然后我有一个名为AnnotatedClassRegister的类,我希望它注册所有用@MyAnnotation注释的类,以便我以后可以访问它们。如果可能的话,我想在创建AnnotatedClassRegister时自动注册这些类,最重要的是在实例化带注释的类之前。我有AspectJ和Guice可供使用。到目前为止我想出的唯一解决方案是使用Guice将AnnotatedClassRegister的单例实例注入(inject)一个方面,它搜索所有用@MyAnnotation注释的类,并且它添加在其构造函数中注册此类所需

java - 如何使用注释处理 Hibernate 和 Spring 中的连接查询?

我正在使用Spring和Hibernate以及MySQL开发应用程序。我是Hibernate的新手并且完成了基本任务......现在我需要在选择查询中应用联接,以使用注释从多个表中获取数据。我已经搜索过了,但我仍然没有任何想法......这里是我的数据库表和bean类:Table1:'employee_info'(id,empid,empname,dojandjobtitle)Table2:'employee_login'(username,password,statusandempid)我的bean类是:EmployeeInfoForm.java@Entity()@Table(nam

java.lang.IllegalStateException : Neither BindingResult nor plain target object for bean name 'category' available as request attribute 错误

我在网上查看了几乎所有与此问题相关的答案,但无法找出我的代码中的问题。这是我的JSP页面。当我删除它工作正常。我可以与我的Controller通信。所以问题与这一行有关。@ControllerpublicclassSearchCategory{@AutowiredprivateCategoryServicecategoryService;@RequestMapping(value="/search_category",method=RequestMethod.POST)public@ResponseBodyStringsearchCategoryFromDatabase(@ModelA