当我实现接口的方法时,Eclipse正在添加@Override注释.Eclipse似乎对此没有任何问题.我们Cruise Control的自动构建过程似乎对此没有任何问题.但是当我从命令行构建时,使用运行javac的ant,我收到此错误:
[javac] C:\path\project\src\com\us\MyClass.java:70: method does not override a method from its superclass
[javac] @Override
[javac] ^
[javac] 1 error
Run Code Online (Sandbox Code Playgroud)
Eclipse在Java 1.6下运行.Cruise Control正在运行Java 1.5.无论我使用哪个版本的Java,我的ant构建都会失败.
在Java中覆盖非虚方法时,建议使用@Override注释,但是如果实现抽象方法怎么办?我也应该使用@Override吗?
我的团队正在转向Spring 3.0,有些人想要开始将所有内容都移到Annotations中.当我看到一个类似这样的方法的类时,我的肠道感觉非常糟糕(代码味道?):(只是一个例子 - 不是所有真正的注释)
@Transaction
@Method("GET")
@PathElement("time")
@PathElement("date")
@Autowired
@Secure("ROLE_ADMIN")
public void manage(@Qualifier('time')int time) {
...
}
Run Code Online (Sandbox Code Playgroud)
我只是落后于时代,还是这对所有人来说都是一个可怕的想法?而不是使用诸如继承和多态的OO概念,现在通过约定或通过注释来实现一切.我只是不喜欢它.必须重新编译所有代码来改变IMO配置的东西似乎是错误的.但它似乎是一切(特别是春天)的方式.我应该"克服它"还是应该推回并尝试尽可能地保留我们的代码作为注释?
Java注释用注释标记@Target以声明可以由该注释修饰的可能连接点.价值观TYPE,FIELD,METHOD,等的ElementType枚举是明确的,简单易懂.
为什么要@Target(ANNOTATION_TYPE)使用价值?带注释的注释有哪些优点?他们的贡献是什么?给我一个关于它如何工作以及为什么要使用它的想法的解释.一些已经存在且众所周知的使用示例也很棒.
我正在尝试做一些Java注释魔术.我必须说我仍在追赶注释技巧,而且某些事情对我来说仍然不太清楚.
所以...我有一些带注释的类,方法和字段.我有一个方法,它使用反射对类运行一些检查并将一些值注入到类中.一切正常.
但是,我现在面临的情况是我需要一个注释的实例(可以这么说).所以...注释不像常规接口,你不能做一个类的匿名实现.我知道了.我在这里看了一些关于类似问题的帖子,但我似乎无法找到我正在寻找的答案.
我基本上想得到一个注释的实例,并能够使用反射设置它的一些字段(我想).有没有办法做到这一点?
什么都没有在Serializable等标记接口中实现..实施它有什么用?
我使用JPA2两者@Entity并@Table有一个name属性,例如:
@Entity(name="Foo")
@Table (name="Bar")
class Baz
Run Code Online (Sandbox Code Playgroud)
我应该使用哪些,哪些是可选的?
在我的具体情况下,我有一个类User和一个类Group,它有额外的要求(据我所知),因为它们是SQL中的保留字.
在编写查询时,工作解决方案将如何显示以及我将以哪个名称引用实体?
更新.我添加name="GROUPS"了两个注释Group并执行了相同的操作User,但现在我收到此错误:
Exception Description: The table [USERS] is not present in this descriptor.
Descriptor: RelationalDescriptor(example.Group --> [DatabaseTable(GROUPS)])
Run Code Online (Sandbox Code Playgroud)
和
Internal Exception: java.sql.SQLException: Table not found in statement [SELECT ID, MAXIMUMROLE, MEMBERSHIPS_ID FROM USERS]
Run Code Online (Sandbox Code Playgroud) 我创建了我的注释
public @interface MyAnnotation {
}
Run Code Online (Sandbox Code Playgroud)
我把它放在测试对象的字段中
public class TestObject {
@MyAnnotation
final private Outlook outlook;
@MyAnnotation
final private Temperature temperature;
...
}
Run Code Online (Sandbox Code Playgroud)
现在我想得到所有字段的列表MyAnnotation.
for(Field field : TestObject.class.getDeclaredFields())
{
if (field.isAnnotationPresent(MyAnnotation.class))
{
//do action
}
}
Run Code Online (Sandbox Code Playgroud)
但似乎我的块执行操作永远不会执行,并且字段没有注释,因为以下代码返回0.
TestObject.class.getDeclaredField("outlook").getAnnotations().length;
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我并告诉我我做错了什么吗?
如何使用Spring中的@Value注释从属性文件中将值注入Map?
我的Spring Java类是和我尝试使用$但是,得到以下错误消息
无法自动装配字段:private java.util.Map Test.standard; 嵌套异常是java.lang.IllegalArgumentException:无法解析字符串值"$ {com.test.standard}"中的占位符'com.test.standard'
@ConfigurationProperty("com.hello.foo")
public class Test {
@Value("${com.test.standard}")
private Map<String,Pattern> standard = new LinkedHashMap<String,Pattern>
private String enabled;
}
Run Code Online (Sandbox Code Playgroud)
我在.properties文件中有以下属性
com.test.standard.name1=Pattern1
com.test.standard.name2=Pattern2
com.test.standard.name3=Pattern3
com.hello.foo.enabled=true
Run Code Online (Sandbox Code Playgroud) java spring annotations dependency-injection spring-annotations
我似乎遇到了在Hibernate中映射List的问题.在我们的项目中有一类Card用含有类Answer与Answer含有List<String>.
是否可以List<String>通过Hibernate使用注释进行映射?我的意思是,因为它没有@Entity注释?
问候
annotations ×10
java ×10
reflection ×2
abstract ×1
coding-style ×1
database ×1
hibernate ×1
jpa ×1
list ×1
overriding ×1
persistence ×1
spring ×1
string ×1