Questions tagged «annotations»

在编程中,注释用于将信息添加到类型系统无法表达的代码元素中。


10
如何使用JPA批注对MYSQL自动增量字段进行批注
直截了当,问题是将对象Operator存入MySQL DB。在保存之前,我尝试从此表中进行选择并起作用,因此与db的连接也是如此。 这是我的Operator对象: @Entity public class Operator{ @Id @GeneratedValue private Long id; private String username; private String password; private Integer active; //Getters and setters... } 为了节省,我使用JPA EntityManager的persist方法。 这是一些日志: Hibernate: insert into Operator (active, password, username, id) values (?, ?, ?, ?) com.mysql.jdbc.JDBC4PreparedStatement@15724a0: insert into Operator (active,password, username, id) values (0, …
105 java  mysql  orm  jpa  annotations 


3
Android Studio错误的含义:未注释的参数会覆盖@NonNull参数
我正在尝试Android Studio。创建新项目并将默认onSaveInstanceState方法添加到create MyActivity类后,当我尝试将代码提交给Git时,出现了一个我不理解的奇怪错误。代码是这样的: 我得到的错误是这样的: 如果尝试将方法签名更改为protected void onSaveInstanceState(@NotNull Bundle outState),则IDE会告诉我它无法解析该符号NotNull。 我需要怎么做才能摆脱警告?


9
是否可以在Java中读取注释的值?
这是我的代码: @Column(columnName="firstname") private String firstName; @Column(columnName="lastname") private String lastName; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } 是否可以在另一个类中读取我的注释@Column(columnName =“ xyz123”)的值?

6
像@Override这样的注释在Java内部如何工作?
有人可以向我解释注释在Java内部如何工作吗? 我知道如何通过使用Java中的java.lang.annotation库来创建自定义注释。但是我仍然不知道它在内部如何工作,例如@Override注释。 如果有人可以详细解释,我将非常感谢。
93 java  annotations 

3
为什么缺少的注释在运行时不会导致ClassNotFoundException?
考虑以下代码: A.java: import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) @interface A{} C.java: import java.util.*; @A public class C { public static void main(String[] args){ System.out.println(Arrays.toString(C.class.getAnnotations())); } } 编译并按预期运行作品: $ javac *.java $ java -cp . C [@A()] 但是请考虑一下: $ rm A.class $ java -cp . C [] 我本来希望它抛出一个ClassNotFoundException,因为@A丢失了。但是,它会静默删除注释。 是在JLS的某个地方记录了此行为,还是Sun的JVM的怪癖?这样做的理由是什么? 看起来很方便javax.annotation.Nonnull(@Retention(CLASS)反之亦然),但对于许多其他注释,它似乎可能导致运行时发生各种不良情况。
91 java  annotations 



16
@Autowired-未找到依赖类型的合格bean
我通过使用Spring和Hibernate为服务创建实体,服务和JUnit测试来开始我的项目。所有这些都很好。然后,我添加了spring-mvc来使用许多不同的分步教程来制作此Web应用程序,但是当我尝试使用@Autowired注释制作Controller时,在部署过程中会从Glassfish中得到错误提示。我猜出于某种原因,Spring无法看到我的服务,但是经过多次尝试,我仍然无法处理它。 测试服务 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:/beans.xml"}) 和 @Autowired MailManager mailManager; 正常工作。 也没有@Autowired的控制器,我可以在Web浏览器中打开项目而不会遇到麻烦。 /src/main/resources/beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"> <context:property-placeholder location="jdbc.properties" /> <context:component-scan base-package="pl.com.radzikowski.webmail"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan> <!--<context:component-scan base-package="pl.com.radzikowski.webmail.service" …

8
如何使用@ComponentScan批注扫描多个路径?
我正在使用Spring 3.1,并使用@Configuration和@ComponentScan属性引导应用程序。 实际的开始是 new AnnotationConfigApplicationContext(MyRootConfigurationClass.class); 此配置类带有注释 @Configuration @ComponentScan("com.my.package") public class MyRootConfigurationClass 而且效果很好。但是,我想更详细地说明我扫描的软件包,所以我尝试了。 @Configuration @ComponentScan("com.my.package.first,com.my.package.second") public class MyRootConfigurationClass 但是,此操作失败,并显示错误消息,提示我找不到使用@Component注释指定的组件。 做我追求的正确方法是什么? 谢谢

8
一个元素上有多个相同类型的注释?
我试图在一个元素上拍两个或多个相同类型的注释,在这种情况下是方法。这是我正在使用的近似代码: public class Dupe { public @interface Foo { String bar(); } @Foo(bar="one") @Foo(bar="two") public void haha() {} } 编译以上内容时,javac抱怨重复的注释: max @ upsight:〜/ work / daybreak $ javac Dupe.java Dupe.java:5:重复注释 这样根本不可能重复注释吗?从学步上讲,上面的两个@Foo实例是否由于内容不同而不同吗? 如果上述方法不可行,可能有哪些解决方法? 更新:我被要求描述我的用例。开始。 我正在建立一种语法糖化机制,以“映射” POJO到文档存储(例如MongoDB)。我想允许将索引指定为getter或setter上的注释。这是一个人为的例子: public class Employee { private List<Project> projects; @Index(expr = "project.client_id") @Index(expr = "project.start_date") public List<Project> …
88 java  annotations 

2
如何从Guice的注射器中获取带注释的实例?
假设我有一个模块: Module extends AbstractModule { @Override protected void configure() { bind(String.class). annotatedWith(Names.named("annotation")). toInstance("DELIRIOUS"); } } 我想测试模块并检查它是否在没有类和字段但直接从注入器获取值的带String注释的字段中注入正确的值Names.named("annotation"): @Test public void test() { Injector injector = Guice.createInjector(new Module()); // THIS IS NOT GOING TO WORK! String delirious = injector.getInstance(String.class); assertThat(delirious, IsEqual.equalTo("DELIRIOUS"); }

4
Android改装参数化@Headers
我正在使用OAuth,每次发出请求时,都需要将OAuth令牌放在标头中。我看到了@Header注释,但是有没有一种方法可以对其进行参数化,以便我可以在运行时传递? 这是概念 @Header({Authorization:'OAuth {var}', api_version={var} }) 您可以在运行时传递它们吗? @GET("/users") void getUsers( @Header("Authorization") String auth, @Header("X-Api-Version") String version, Callback<User> callback )

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.