gpt4 book ai didi

接口(interface)、EJB 和 Servlet 中的 Javadoc

转载 作者:行者123 更新时间:2023-12-01 13:27:42 27 4
gpt4 key购买 nike

我开始使用 Javadocs 来记录我的 Java 代码,虽然我真的很喜欢这个想法,但我遇到了一些麻烦。基本上有两个独立的项目,WEB 项目,带有 html 页面和 servlet,以及 EJB 项目,带有 bean 和接口(interface)。 Bean的接口(interface)像WEB项目中的.jar一样导出,因此Servlet可以使用JNDI查找并调用Bean的方法。

问题:
1)为什么在bean实现的接口(interface)中看不到javadoc注释?例子:

@Remote
public interface BeanRemote{
//CAN'T SEE JAVADOC HERE
public String tuna(String fish);
}

@Stateless
public class Bean implements BeanRemote{
/**
This is very nice function
*/
public String tuna(String fish){
return "this is"+fish;
}
public void printStuff(){
//CAN SEE JAVADOC HERE
String stuff = tuna("big tuna");
System.out.println(stuff);
}
}

2) 如果 WEB 项目的 servlet 有接口(interface)的 .jar,而实际的 javadoc 注释在 bean 中,是否可以从 WEB 项目的 servlet 中看到 javadoc 注释?

提前致谢。

编辑:
两个项目的简化结构:
网页:

webProject
JavaResources
src
servlets
//Can't see Javadoc here
BeanServlet.java
WebContent
WEB-INF
lib
//This is interface on the bean from BEAN project
BeanRemote.jar

bean :

beanProject
ejbModule
beans
//Javadoc is here
Bean.java
remote
//Can't see Javadoc here
//This is exported into WEB project
BeanRemote.java

最佳答案

由于您在 Web 项目中引用接口(interface),因此您的 Javadocs 应该放置在接口(interface)方法中。

如果您的实现方法需要更具体的文档,您还可以从接口(interface)继承Javadocs并添加细节。只需在 Javadoc block 中使用 {@inheritDoc} 即可。

示例:

/**
* {@inheritDoc}
* <p>
* For this specific implementation of the interface, you're better off
* calling the more efficient {@link foo} method, provided you have the
* additional arguments!
* </p>
*/
@Override
public void methodX() {
// Your code here
}

请记住,仅当您显式引用此类时才会显示特定文档。

BeanRemote bean = new Bean();

当您将鼠标光标放在 BeanRemote 上时,它会显示来自 BeanRemote 的文档,而当您将鼠标光标放在 Bean 上时,它会显示显示具体文档。

关于接口(interface)、EJB 和 Servlet 中的 Javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21725476/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com