Java看源码如何方便看注释文档?

现在的JAVA项目大多用maven管理依赖,在maven的导入选项旁边有下载源码和文档,执行这个操作可以在看相关项目依赖的时候直接看对应的源码及文档注释很方便。
很多人对于问题都是求之于搜索引擎给出的答案,这样不是说不行,只是很浪费时间。
开始的时候我们没有入门可以借助文档和搜索引擎来达到快速入门的目的,在入门之后,很多问题应该求之于源码上,这个阶段,看源码是必经之路,如果你没有经过,那总有一天死都不知道怎么死的,就是这样。
继续说看源码,在IDEA内,按住Ctrl然后点击引用的类名即可进入对应的源码,然后在源码内有方法的定义和文档的说明,比如:

/**
 * The <code>CriteriaQuery</code> interface defines functionality that is specific
 * to top-level queries.
 *
 * @param <T>  the type of the defined result
 * @since Java Persistence 2.0
 */
public interface CriteriaQuery<T> extends AbstractQuery<T> {

    /**
     * Specify the item that is to be returned in the query result.
     * Replaces the previously specified selection(s), if any.
     *
     * <p> Note: Applications using the string-based API may need to
     * specify the type of the select item when it results from
     * a get or join operation and the query result type is
     * specified.
     *
     * <pre>
     *     For example:
     *
     *     CriteriaQuery<String> q = cb.createQuery(String.class);
     *     Root<Order> order = q.from(Order.class);
     *     q.select(order.get("shippingAddress").<String>get("state"));
     *
     *     CriteriaQuery<Product> q2 = cb.createQuery(Product.class);
     *     q2.select(q2.from(Order.class)
     *                 .join("items")
     *                 .<Item,Product>join("product"));
     *
     * </pre>
     *
     * @param selection selection specifying the item that
     * is to be returned in the query result
     *
     * @return the modified query
     *
     * @throws IllegalArgumentException if the selection is
     * a compound selection and more than one selection
     * item has the same assigned alias
     */
    CriteriaQuery<T> select(Selection<? extends T> selection);

这里会遇到一个问题,一些example的代码并不好读,这个时候可以在对应的方法上,按Ctr+q即可看到该方法的文档如下:

javax.persistence.criteria.CriteriaQuery
CriteriaQuery<T> select(Selection<? extends T> selection)
Specify the item that is to be returned in the query result. Replaces the previously specified selection(s), if any.
Note: Applications using the string-based API may need to specify the type of the select item when it results from a get or join operation and the query result type is specified.
     For example:

     CriteriaQuery<String> q = cb.createQuery(String.class);
     Root<Order> order = q.from(Order.class);
     q.select(order.get("shippingAddress").<String>get("state"));

     CriteriaQuery<Product> q2 = cb.createQuery(Product.class);
     q2.select(q2.from(Order.class)
                 .join("items")
                 .<Item,Product>join("product"));

同时在这个弹框里可以看到一个向上的箭头,点击这个箭头可以进入浏览器像阅读JAVA API一样阅读当前对象的API文档

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注