Tag: 注释

@WebServlet注释无法识别; init不运行

我正在努力学习注释。 我目前有一个在Tomcat中启动应用程序时运行init()的webapp。 以下代码有效…… web.xml中: MainServlet com.company.Main 1 Main.java: import java.io.IOException; import javax.servlet.*; import javax.servlet.annotation.WebServlet; //@WebServlet(name=”MainServlet”, value=”/main.jsp”, loadOnStartup=1) public class Main extends GenericServlet { public Main() { } @Override public void init() { System.out.println(“Hello!”); } @Override public void destroy() { System.out.println(“Bye!”); } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { } } 但是,当我取消注释@WebServlet注释并注释掉web.xml中的servlet条目时,init方法不会运行。 […]

应用服务器如何注入私有字段?

我看到了这个问题 注入私人,包装或公共领域或提供制定者? 关于如何手动注入带注释的私有字段(方式是添加setter或通过构造函数) 但是,重点是应用程序服务器(如glassfish,axis2,jboss,…)如何能够注入最终的私有字段(不向用户类添加setter或构造函数)? 引用引用的问题: public SomeClass { @Inject private SomeResource resource; } 他们是否使用允许访问私有字段的自定义JVM(不是标准的JVM)? 谢谢

如何检查当前方法的参数是否有注释并在Java中检索该参数值?

考虑以下代码: public example(String s, int i, @Foo Bar bar) { /* … */ } 我想检查方法是否有注释@Foo并获取参数或如果没有找到@Foo注释则抛出exception。 我目前的方法是首先获取当前方法,然后遍历参数注释: import java.lang.annotation.Annotation; import java.lang.reflect.Method; class Util { private Method getCurrentMethod() { try { final StackTraceElement[] stes = Thread.currentThread().getStackTrace(); final StackTraceElement ste = stes[stes.length – 1]; final String methodName = ste.getMethodName(); final String className = ste.getClassName(); final Class currentClass = […]

什么是JavaFX中的“将位置和资源属性自动注入控制器”?

在Initializable接口的描述中,它被说成: 注意此接口已被位置和资源属性自动注入控制器所取代。 FXMLLoader现在将自动调用由控制器定义的任何适当注释的no-arg initialize()方法。 建议尽可能使用注射方法。 问题是:如何“合适注释”方法? 我只找到一个注释 – @FXML 。 还有其他人吗?

Java注释

我在Java中创建了简单的注释 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Column { String columnName(); } 和class级 public class Table { @Column(columnName = “id”) private int colId; @Column(columnName = “name”) private String colName; private int noAnnotationHere; public Table(int colId, String colName, int noAnnotationHere) { this.colId = colId; this.colName = colName; this.noAnnotationHere = noAnnotationHere; } } 我需要迭代所有字段,这些字段用Column注释并获取字段和注释的名称和值 。 但是我在获取每个字段的值时遇到了问题,因为它们都是不同的数据类型 。 是否有任何东西可以返回具有特定注释的字段集合? 我设法用这个代码做了,但我不认为reflection是解决它的好方法。 […]

Java注释何时执行?

我只是想编写一些可以在调用服务方法之前或之后立即执行的注释。 我不知道它们是在运行时还是编译时执行的。

背后的概念是什么:类型 – 元素 – 镜子

我正在使用Java 6的注释处理,即可以在javax.annotation.processing (而不是Java 5的APT)中找到的内容。 我想知道各种Element , Type和Mirror类之间的概念差异是什么。 由于我不太明白这一点,因此很难有效地编写注释处理器。 有各种方法可以在这些概念之间“转换”,但我不确定在使用它们时我在做什么。 所以,例如,让我有一个AnnotationMirror实例。 当我调用getAnnotationType()我得到一个DeclaredType实例(由于某种原因它实现了TypeMirror )。 然后我可以在这个上调用asElement()并获取Element的实例。 发生了什么事?

@WebInitParam的用例

从Servlet 3.0规范开始,可以将servlet映射元数据声明为servlet类的注释: @WebServlet(name=”appInfoServlet”, urlPatterns =”/appInfo”, initParams = @WebInitParam(name=”ocwd.deployer.email”, value=”admin@example.com”)) public class AppInfoServlet extends HttpServlet { } 我不明白的是将init参数保存在与servlet相同的类中的用例。 据我所知,这些参数将与类分开并放入部署描述符中。 在@WebServlet注释中指定init参数有哪些用例?

基于Spring MVC的站点上的状态消息(注释控制器)

使用注释控制器在基于Spring MVC的站点上组织状态消息(“您的数据已成功保存/添加/删除”)的最佳方法是什么? 因此,问题在于从控制器中的POST方法发送消息。

参数JAXBElement String

我对JAXB有一个简单的问题。 以下是示例代码: //setter that has input JAXBElement b.setBIC(JAXBElement value); 如何初始化使用来自其他对象的String的input元素?