在我的ASP.NET MVC应用程序的模型中,我想仅在选中特定复选框时才根据需要验证文本框.
就像是
public bool retired {get, set};
[RequiredIf("retired",true)]
public string retirementAge {get, set};
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
谢谢.
编译为字节码时,注释构造函数参数似乎无效.我也没有编译器警告.
以下作品.getAnnotations为了name现场返回javax.annotation.Nullable.
class Person {
@Nullable var name: String = _;
}
Run Code Online (Sandbox Code Playgroud)
以下不适用于val或var.
class Person(@Nullable var name: String)
Run Code Online (Sandbox Code Playgroud)
这可能不是故意的,所以我有什么遗漏或者我应该提交错误报告吗?
我想写一个java注释,它是方法调用的时间.这样的事情:
@TimeIt
public int someMethod() { ... }
Run Code Online (Sandbox Code Playgroud)
并且当调用此方法时,它应该在控制台上输出此方法花了多长时间
我知道如何在python中做到这一点,这就是我想要它做的事情:
from time import time, sleep
def time_it(func):
def wrapper(*args, **kwargs):
start = time()
func(*args, **kwargs)
stop = time()
print "The function", func.__name__, " took %.3f" % (stop - start)
wrapper.__name__ = func.__name__
return wrapper
@time_it
def print_something(*args, **kwargs):
print "before sleeping"
print args, kwargs
sleep(3) # wait 3 seconds
print "after sleeping"
print_something(1, 2, 3, a="what is this?")
Run Code Online (Sandbox Code Playgroud)
所以我的问题是?我在哪里找到一些类似这样的apt文档,我试过文档,没有运气.有人可以帮忙写这样的东西吗?
我可能只是在寻找错误的方向,但我发现注释处理的JSE文档非常稀疏.我想编写一个注释处理器,它处理带注释的String字段和局部变量,用计算的String表达式替换它们.这不应该太复杂,但我在Javadoc for javax.annotation.processing中迷失了.
编辑:我需要在编译时处理注释,因为我想修改生成的代码.它应该用计算的String表达式替换带注释的常量String表达式.
场景:
Java 1.6
class Animal {
private String name;
...
public String getName() { return name; }
...
}
class CatDog extends Animal {
private String dogName;
private String catName;
...
public String getDogName() { return dogName; }
public String getCatName() { return catName; }
public String[] getNames() { return new String[]{ catName, dogName }; }
...
public String getName() { return "ERROR! DO NOT USE ME"; }
}
Run Code Online (Sandbox Code Playgroud)
问题:
getName没有意义,不应该在这个例子中使用.我正在阅读@Deprecated注释.有更合适的注释方法吗?
问题:
A)使用此功能时(运行前)是否可以强制执行错误?
B)有没有办法为我将使用的注释方法显示自定义警告/错误消息?理想情况下,当用户将鼠标悬停在已弃用/错误函数上时.
使用JPA annoations,我想重用相同的嵌入对象,如下所示:
@Entity
public class User {
@Embedded
public Address homeAddress;
@Embedded
public Address workAddress;
}
@Embeddable
public class Address {
public String code;
public String city;
...
}
Run Code Online (Sandbox Code Playgroud)
我可以使用@AttributeOverrides,@ AttributeOverride和@Column指定SQL列名,但它是verbos.是否可以仅为homeAddress和workAddress指定要添加到每列的前缀?
谢谢,
泽维尔
我正在使用spring-mvc开发一个Web应用程序.
现在可以使用@ Controller,@ Service和@Repository构造型.
我发现@Controller特别有用,特别是因为我正在使用
<context:component-scan base-package="my.cool.controller"/>
Run Code Online (Sandbox Code Playgroud)
现在,关于@Service和@Repository,到目前为止看起来像
那么,除了更好的例外,还有其他任何优势吗?注释类是否会影响性能?
查询枚举列上的where子句会引发异常.
org.hibernate.exception.SQLGrammarException: could not extract ResultSet
...
Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: movedirection = bytea
Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)
SQL:
create type movedirection as enum (
'FORWARD', 'LEFT'
);
CREATE TABLE move
(
id serial NOT NULL PRIMARY KEY,
directiontomove movedirection NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
Hibernate映射类:
@Entity
@Table(name = "move")
public class Move {
public …Run Code Online (Sandbox Code Playgroud) 我想@NonNull在Android中使用注释,但我无法找到正确的方法来实现它.我建议你这个例子:
public void doStuff(@NonNull String s){
//do work with s...
}
Run Code Online (Sandbox Code Playgroud)
所以当我打电话doStuff(null)给IDE时会给我一个警告.问题是我不能依赖这个注释,因为像这个问题所指出的那样,它们不会传播得很远.所以我想对我的方法进行空检查,如下所示:
if(s==null) throw new IllegalAgrumentException();
Run Code Online (Sandbox Code Playgroud)
但是假设这个IDE s!=null会警告我s==null总是假的.我想知道最好的方法是什么.
我个人认为应该有一个注释@ShouldntBeNull,只有检查并警告null不会传递给它,但是当值为null时不会抱怨.
到目前为止,我们一直在使用Findbugs JSR-305注释(com.google.code.findbugs:jsr305),包括工具支持(Sonar,Eclipse,Findbugs,...)在内的一切工作正常.
但是我们的理解是Java 9中的Jigsaw将打破JSR-305注释(不允许在两个模块中使用一个包).这在JavaOne 2015上得到了证实.Oracle的推理是JSR-305从未发生过,JSR-250必须支持这些注释.
我们正在寻找可以在Java 8和Java 9中工作的JSR-305注释的替换.如果历史是任何指南,Java 9 GA和Java 8 EOL之间的时间将相当短,我们想修复我们的任何不兼容性提前编码.从理论上讲,我们可以升级JDK的注释模块,但是在我们的工具链中执行此操作似乎需要做很多工作.
annotations static-analysis jsr305 java-platform-module-system java-9
annotations ×10
java ×7
android ×1
asp.net-mvc ×1
enums ×1
java-9 ×1
java-platform-module-system ×1
jpa ×1
jsr305 ×1
model ×1
non-nullable ×1
postgresql ×1
scala ×1
spring ×1
spring-mvc ×1
timing ×1
validation ×1