Tag: annotations

什么是Spring MVC控制器方法的有效返回类型?

我在Spring MVC上没有太多经验,我有以下关于控制器方法可以返回的valids返回类型的内容 。 所以我知道用户生成一个由DispatcherServlet接收和处理的HttpRequest ,它将此请求分派给特定的控制器类。 控制器类是这样的: @Controller public class AccountController { @RequestMapping(“/showAccount”) public String show(@RequestParam(“entityId”) long id, Model model) { … } ………………………………… ………………………………… ………………………………… } 所以我知道每个方法处理一个特定的请求,并且处理的请求由@RequestMapping注释指定。 我也知道该方法返回一个String对象,该对象是逻辑视图名称 (然后由视图解析器解析以呈现视图) 所以,在这个阶段,我认为控制器类的方法只返回String对象。 但我不确定。 也许像这样的方法也可以返回一些不同类型的对象?

如何让@ParametersAreNonnullByDefault工作?

我已经多次尝试获取包注释@ParametersAreNonnullByDefault在maven项目中为我工作但没有成功。 有人可以共享一个链接到一个最小/样本maven项目,在这个项目设置(或发布pom.xml和package-info.java和演示类)? 我正在谈论让findbugs处理器为我强制执行它。

在java的Annotation Processor中发现methodinvocation的类

我正在为构建系统编写一些工具,以对属于包含某些注释的类的方法强制执行一些严格的调用约定。 我正在使用编译器树API … 我想知道的是,当遍历’tree’时,你怎么能告诉MethodInvocation的类/接口的类型。 我将TreePathScanner子类化为: @Override public Object visitMethodInvocation(MethodInvocationTree node, Trees trees) { } 我希望有一种方法可以告诉您尝试调用该方法的类(或接口)的类型。 我是以错误的方式来做这件事的吗? 谢谢你的任何想法……

使用Hibernate @Index注释在DB上创建索引

我的项目中有注释驱动的hibernatefunction。 现在我想在列上创建索引。 我目前的列定义是 @NotNull @Column(name = “hash”) private String hash; 我在这里添加@Index注释。 @NotNull @Column(name = “hash”) @Index(name=”hashIndex”) private String hash; 然后DROP TABLE并重启Tomcat服务器。 在实例化服务器之后,会创建表,但我无法在后续查询中看到新索引。 SHOW INDEX FROM tableName 期望用新索引构造表。 我正在使用带有MySQL的InnoDB。

如何根据条件禁用TestNG测试

目前有一种方法可以根据条件禁用TestNG测试 我知道你当前可以在TestNG中禁用测试: @Test(enabled=false, group={“blah”}) public void testCurrency(){ … } 我想根据条件禁用相同的测试,但不知道如何。 像这样的东西: @Test(enabled={isUk() ? false : true), group={“blah”}) public void testCurrency(){ … } 任何人都知道这是否可行。

有没有办法在Java中使用注释来替换访问器?

我对Java 5注释有点新意,我很好奇其中任何一个都是可能的: 此注释将为您生成一个简单的getter和setter。 @attribute private String var = “”; @NotNull注释表明变量不能为null,因此您不必每次都编写该样板代码。 /* * @param s @NotNull */ public void setString(String s){ … } 这些都可以吗? 如果可以的话,它们似乎是我会写注释的第一件事。 因为当我阅读文档时,我没有看到太多关于这些的内容,我假设它并不是真正的注释。 这里的任何方向将不胜感激。

如何在复合键中使用生成的值?

我有两个类documentlog和documentversion(主键:int doc_id和int docVersionID),具有多对一关系。 我使用了一个名为CompundKey的复合键类来管理复合主键。 我需要自动增加docversionID,但我无法做到这一点。 在这方面你能帮我吗? @Entity @Table(name = “Documentversion”, schema = “DocumentManagement”) public class DocumentVersion implements Serializable { private CompoundKey id; private List documentLog; @OneToMany(mappedBy=”documentVersion”, targetEntity=DocumentLog.class, cascade ={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}) public List getDocumentLog() { return documentLog; } public void setDocumentLog(List documentLog) { this.documentLog = documentLog; } @EmbeddedId @AttributeOverride(name=”doc_Id”, column=@Column(name=”doc_Id”) ) public CompoundKey getId() { […]

JSF如何找到使用@ManagedBean注释的bean?

据我所知,对于使用@Annotations(或C#中的[Attributes]),您必须引用类元数据,以便您可以询问该类是否已注释(属性)。 我的问题是JSF实现如何找到所有使用@ManagedBean注释的类? 它是否扫描类路径中的所有类? 或者有没有办法实际“查询”JVM的注释类? 我问这个是因为当我直接在我的web项目中添加带注释的支持bean时,没有问题。 但我在JAR文件中定义的bean(可跨项目重用)未注册。 有什么东西我必须告诉MyFaces指导哪些JAR文件看? 此外,使用注释引入了许多不错的编程模式。 我想知道我是否能以某种方式找到所有带注释的类……

使用Jersey的AbstractHttpContextInjectable自定义方法注释不工作

如果以非安全的方式访问某些方法,我想限制它们。 我正在创建一个@Secure注释,用于检查请求是否是通过安全通道发送的。 但是,我无法创建捕获请求的HttpContext的方法injectable。 @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD}) public @interface Secure { } public class SecureProvider implements InjectableProvider { @Override public ComponentScope getScope() { return ComponentScope.PerRequest; } @Override public Injectable getInjectable(ComponentContext componentContext, Secure annotation, AbstractResourceMethod method) { return new SecureInjectable(); } } public class SecureInjectable extends AbstractHttpContextInjectable { @Override public T getValue(HttpContext context) { // validation here […]

元素’mvc:annotation-driven’找不到声明

我需要从我的控制器返回JSON / XML数据。从我发现的,我在我的方法中需要@ResponseBody ,为此我需要启用 。 我尝试了各种RnD,但仍然卡住了! 🙁 显然我的问题在于我的servlet.xml文件(架构没有得到validation!)我正在使用Spring 3.1.1并在我的类路径中明确地放入了spring-mvc-3.1.1.jar。 这是我的servlet-context文件sample-servlet.xml: com.sample.model.SampleClass 我的控制器类看起来像这样: @Controller public class XmlController { @RequestMapping(value=”/getXml”,method = RequestMethod.POST) public @ResponseBody AssociateDetail getXml(){ System.out.println(“inside xml controller…..”); AssociateDetail assoBean=null; try{ AssociateService add=new AssociateService(); assoBean=add.selectAssociateBean(); }catch(Exception e){ e.printStackTrace(); } return assoBean; } } 现在问题是给出错误: cvc-complex-type.2.4.c:匹配的通配符是strict,但是没有找到元素’mvc:annotation-driven’的声明。 我已尝试过本网站及其他网站上建议的所有变通方法。 使用Spring 3.1.1和@ResponseBody更新了我的模式名称空间。