我想使用注释针对一组值验证字符串.我想要的基本上就是这个
@ValidateString(enumClass=com.co.enum)
String dataType;
int maxValue;
int minValue;
int precision;
Run Code Online (Sandbox Code Playgroud)
要么
@ValidateString(values={"String","Boolean", "Integer"})
String dataType;
int maxValue;
int minValue;
int precision;
Run Code Online (Sandbox Code Playgroud)
我还想根据dataType中设置的值对其他变量进行一些验证,
if(dataType ="String")maxValue,minValue,precision all应为null或0.
我无法想到通过自定义注释实现这一目标的方法..
有人请帮帮我
我可能只是在寻找错误的方向,但我发现注释处理的JSE文档非常稀疏.我想编写一个注释处理器,它处理带注释的String字段和局部变量,用计算的String表达式替换它们.这不应该太复杂,但我在Javadoc for javax.annotation.processing中迷失了.
编辑:我需要在编译时处理注释,因为我想修改生成的代码.它应该用计算的String表达式替换带注释的常量String表达式.
我想@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时不会抱怨.
我有一个实体类的两个字段,我不希望它们是唯一的,而是用作一个键的复合字段,它必须是唯一的.例如,我有两个字段(名称和版本),对于其他记录可以是相同的,但它们必须是唯一的.使用Hibernate(带注释)的最佳方法是什么?我正在使用Hibernate Validator用于其他字段,但我不确定如何使用它来验证两个字段一起组成一个唯一键.我正在使用一个通用实体类,它具有一个id泛型类型,可以换成复合键类,但我还没有得到它的工作得很好.
我正在寻找一个可以用来注释源代码的工具.
我有一些我需要了解的第三方源代码(JavaScript),我不想更改它(添加内联注释)以便
通常情况下,我会在上面写一个涂鸦的全部内容,但代码太长了,我需要按电子邮件分享.如果能够做到这一点,我会很高兴,包括能够在代码中的这些位置之间创建"链接",甚至可能在视觉上用线条或箭头.
我有一个带有XmlElementWrapper注释的类,如:
...
@XmlElementWrapper(name="myList")
@XmlElements({
@XmlElement(name="myElement") }
)
private List<SomeType> someList = new LinkedList();
Run Code Online (Sandbox Code Playgroud)
...这段代码生成XML
<myList>
<myElement> </myElement>
<myElement> </myElement>
<myElement> </myElement>
</myList>
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
但是现在我需要在list标签中添加属性以获得XML
<myList number="2">
<myElement> </myElement>
<myElement> </myElement>
<myElement> </myElement>
</myList>
Run Code Online (Sandbox Code Playgroud)
有没有一种'聪明的方法来实现这一目标而不创建一个包含代表列表的新类?
我有两个实体,我想通过多个列加入.这些列@Embeddable由两个实体共享的对象共享.在下面的示例中,Foo只能有一个Bar但Bar可以有多个Foos(其中AnEmbeddableObject是唯一的键Bar).这是一个例子:
@Entity
@Table(name = "foo")
public class Foo {
@Id
@Column(name = "id")
@GeneratedValue(generator = "seqGen")
@SequenceGenerator(name = "seqGen", sequenceName = "FOO_ID_SEQ", allocationSize = 1)
private Long id;
@Embedded
private AnEmbeddableObject anEmbeddableObject;
@ManyToOne(targetEntity = Bar.class, fetch = FetchType.LAZY)
@JoinColumns( {
@JoinColumn(name = "column_1", referencedColumnName = "column_1"),
@JoinColumn(name = "column_2", referencedColumnName = "column_2"),
@JoinColumn(name = "column_3", referencedColumnName = "column_3"),
@JoinColumn(name = "column_4", referencedColumnName = "column_4")
})
private …Run Code Online (Sandbox Code Playgroud) 在我们的一个方法中,我们在列表视图中使用smoothScrolling.由于此方法在API Level 8(FROYO)之前不可用,因此我们使用TargetApi注释来防止在以前的SDK版本中调用该方法.
如您所见,我们在类定义和使用类对象的语句中都使用TargetApi注释.这不仅仅是需要的.
我们的问题是没有考虑TargetApi注释并使我们的模拟器在版本ECLAIR(SDK 7)中崩溃.通过跟踪,我们只是意识到应该只在版本8+中执行的代码也在版本7中执行.
我们错过了什么吗?
这段代码在听众中:
@TargetApi(8)
private final class MyOnMenuExpandListener implements OnMenuExpandListener {
@Override
public void onMenuExpanded( int position ) {
doScrollIfNeeded( position );
}
@Override
public void onMenuCollapsed( int position ) {
doScrollIfNeeded( position );
}
protected void doScrollIfNeeded( int position ) {
if ( mListViewDocuments.getLastVisiblePosition() - 2 < position ) {
mListViewDocuments.smoothScrollToPosition( position + 1 );
}
}
}
Run Code Online (Sandbox Code Playgroud)
并且监听器以这种方式注册:
@TargetApi(8)
private void allowSmothScrollIfSupported() {
if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO ) {
//This …Run Code Online (Sandbox Code Playgroud) 我正在Spring应用程序中学习JPA,我对@Entity注释有一些疑问.
所以我有一个这样的模型类:
@Entity
@Table(name= “T_CUSTOMER”)
public class Customer {
@Id
@Column(name=“cust_id”)
private Long id;
@Column(name=“first_name”)
private String firstName;
@Transient
private User currentUser;
...........................
...........................
...........................
}
Run Code Online (Sandbox Code Playgroud)
好的,我知道@Entity注释是在类级别上,这意味着作为此类实例的对象的字段将映射到T_CUSTOMER数据库表的字段.
但是为什么在JPA中必须使用@Entity注释,我不仅可以使用@Table注释将模型对象映射到特定的数据库表?它有一些其他意义\行为,实际上我错过了?
我错过了什么?@Entity注释的确切含义是什么?
我没有太多的Spring MVC经验,我有以下关于控制器方法可以返回的valids返回类型的内容.
所以我知道用户生成一个由DispatcherServlet接收和处理的HttpRequest,它将此请求分派给特定的控制器类.
控制器类是这样的:
@Controller
public class AccountController {
@RequestMapping("/showAccount")
public String show(@RequestParam("entityId") long id, Model model) {
...
}
.......................................
.......................................
.......................................
}
Run Code Online (Sandbox Code Playgroud)
所以我知道每个方法处理一个特定的请求,并且处理的请求由@RequestMapping注释指定.
我也知道该方法返回一个String对象,该对象是逻辑视图名称(然后由视图解析器解析以呈现视图)
所以,在这个阶段,我认为控制器类的方法只返回String对象.但我不确定.也许像这样的方法也可以返回一些不同类型的对象?
annotations ×10
java ×6
jpa ×3
android ×2
hibernate ×2
emulation ×1
entity ×1
enums ×1
javascript ×1
jaxb ×1
linked-list ×1
non-nullable ×1
orm ×1
spring ×1
spring-mvc ×1
xml ×1