Tag: annotations

通过注释和xml上下文连接Spring bean

我有以下Spring服务: @Service public class Worker { @Autowired private MyExecutorService executor; @Autowired private IRun run; private Integer startingPoint; // Remainder omitted } 现在我想通过.properties文件加载startingPoint 。 是否可以同时通过注释和xml上下文连接Spring服务? 也许是这样的: ${startingPoint} startingPoint通过xml上下文文件连接,其他所有内容都自动连接。

与hibernate注释的接口

我想知道我将如何能够注释一个界面 @Entity @Table(name = “FOLDER_TABLE”) public class Folder implements Serializable, Hierarchy { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “folder_id”, updatable = false, nullable = false) private int fId; @Column(name = “folder_name”) private String folderName; @OneToMany(cascade = CascadeType.ALL) @JoinTable(name = “FOLDER_JOIN_FILE_INFORMATION_TABLE”, joinColumns = { @JoinColumn(name = “folder_id”) }, inverseJoinColumns = { @JoinColumn(name = “file_information_id”) }) private […]

Java静态元编程

我想实现一个基于现有“prototype”类生成新类的注释处理器。 import java.util.List @MyAnnotation class MySuperClassPrototype { static MySuperClassPrototype createInstance() { return new MySuperClassPrototype(); } } 由于下面的代码。 将生成以下新源文件(编译单元): import java.util.List class MySuperClass { static MySuperClass createInstance() { return new MySuperClass(); } public void specialAddedMethod() { /*…*/ } } 我想复制所有顶级import语句和静态成员,而不是原型类的静态成员。 我用Compiler Tree API(com.sun.source.tree)移动了很多。 我可以打印出Tree数据类型,同时用new class name替换old。 但是有些问题似乎很难。 如果我在树中获得Tree.Kind.IDENTIFIER,我如何找到它引用的实际类。 我需要用MySuperClass标识符替换所有出现的MySuperClassPrototype标识符,然后打印出整个树。 这可行吗? 类似地,我需要过滤掉@MyAnnotation注释,然后再用Tree.Kind.IDENTIFIER或Tree.Kind.MEMBER_SELECT表示。 如何找到此标识符引用的实际注释类? 另一个问题是打印树。 如果我使用toString方法,我得到了不错的结果,但是构造函数被打印为具有“”名称的方法而不是与其类同名的方法,因此我需要手动打印每种树节点。 你可以看到我在这里附带的代码

动态更改RESTEasy服务返回类型

我可以在RESTEasy服务中更改@Produces注释参数的值吗? 我给出的任务是将多种格式报告集成到现有的报告系统中。 因此动态更改@Produces注释参数会对我有所帮助。 提前致谢!

如果我在配置类上使用@ActiveProfiles注释而不是在定义我的bean的类上使用它,那么在Spring中会发生什么?

我正在攻读Spring Core认证,我对将配置文件用于JUnit测试有一些疑问。 所以我知道如果我按以下方式编写一个类: @Profile(“stub”) @Repository public class StubAccountRepository implements AccountRepository { private Logger logger = Logger.getLogger(StubAccountRepository.class); private Map accountsByCreditCard = new HashMap(); /** * Creates a single test account with two beneficiaries. Also logs creation * so we know which repository we are using. */ public StubAccountRepository() { logger.info(“Creating ” + getClass().getSimpleName()); Account account = […]

为什么@Documented注释具有运行时保留?

据我所知,@ @Documented注释仅由javadoc生成器用于从源生成javadoc。 保留类型应该是SOURCE ,但它是RUNTIME 。 为什么? @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Documented { }

@FunctionalInterface如何影响JVM的运行时行为?

我最初的问题是这个问题的完全重复; 也就是说,为什么这个接口有一个运行时保留策略。 但是接受的答案根本不能满足我,原因有两个: 这个接口是@Documented的事实(我相信)与它无关(尽管为什么@Documented有一个运行时保留策略对我来说也是一个谜); 尽管在Java 8之前Java中存在许多“将是”function接口( Comparable提及,但Runnable等),这并不妨碍它们被用作“替代品”(例如,你可以很好地使用它)一个DirectoryStream.Filter作为Predicate的替代,如果你所做的只是在Path上过滤,例如)。 但仍然有这种保留。 这意味着它必须以某种方式影响JVM行为。 怎么样?

@ParametersAreNonnullByDefault是否也适用于方法返回值?

@ParametersAreNonnullByDefault的文档说: 此注释可以应用于包,类或方法,以指示默认情况下该元素中的方法参数是非空的,除非… 我不认为方法的返回类型/值是它的参数。 它只是其签名的一部分,所以这对我来说有点模棱两可。 方法的Java教程似乎和我一样。 正如Joachim Sauer在他的回答的评论部分中为我指出的那样,名称@ParametersAreNonnullByDefault ( 参数 )应该清楚地表明这个注释不适用于方法的返回类型/值。 我是盲人! :)谢谢Joachim! 鉴于此,我只能说@EverythingIsNonnullByDefault应该存在于其中。 🙂

Spring MVC如何转换@RequestParam值?

我是Spring框架的新手,作为一种症状,我希望尽可能简单地采用它的Web MVC部分,所以我使用注释函数来处理Spring。 在过去,我用过: int value = Integer.valueOf(request.getParameter(“numberValue”)) 从参数中提取值 – 显式转换getParameter()返回的String。 很有帮助,我注意到当我使用Spring的术语时: @RequestParameter(“numberValue”) int numVal 转换是自动处理的。 这很好,但对我来说是一个“黑匣子”。 我尝试在这里或Spring文档中查看问题,但所有这些信息都涉及对象或格式问题的自定义转换(如Converter)。 我想知道的是Spring默认如何处理@RequestParam的原始类型转换。

Spring AOP:@annotation(注释)

我(当然)尝试使用许多我不太了解的结构来维护项目。 在试图找出Spring中的AOP使用过程中,我遇到了带有以下注释的方法: @Around(value =“@ annotation(annotation)”) 所以@Around意味着我们在AOP中执行方法切入点的’around’版本,我明白了。 我不知道其他部分是什么意思。 Spring文档提供以下内容: @annotation – 限制匹配到连接点的主题,其中连接点的主题(在Spring AOP中执行的方法)具有给定的注释 我不知道这意味着什么 – “在Spring AOP中执行的方法”听起来像建议的方法,但我不知道我(或Spring)如何找出建议的方法。 听起来它是具有“给定注释”的方法,但如果是这样,那么给出了什么注释? 这个注释建议了哪些方法? 还有什么意思呢?