From 02dada7b331edb36ac8f3b4c3726cf498e8f5064 Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Mon, 22 Jun 2020 15:33:37 +0800 Subject: [PATCH] 2020-06-22 15:33:37 --- docs/db/109.md | 2 +- docs/db/111.md | 4 ++-- docs/dotnet/142.md | 2 +- docs/dotnet/99.md | 2 +- docs/graph/5.md | 2 +- docs/graph/6.md | 2 +- docs/gui/100.md | 2 +- docs/gui/101.md | 2 +- docs/gui/182.md | 2 +- docs/gui/197.md | 2 +- docs/gui/209.md | 2 +- docs/gui/21.md | 2 +- docs/gui/218.md | 2 +- docs/gui/227.md | 2 +- docs/gui/251.md | 4 ++-- docs/gui/271.md | 2 +- docs/gui/277.md | 2 +- docs/gui/287.md | 2 +- docs/gui/305.md | 2 +- docs/gui/328.md | 2 +- docs/gui/336.md | 2 +- docs/gui/338.md | 2 +- docs/gui/349.md | 2 +- docs/gui/66.md | 2 +- docs/gui/69.md | 2 +- docs/gui/8.md | 2 +- docs/java/12.md | 2 +- docs/java/14.md | 2 +- docs/java/24.md | 4 ++-- docs/java/47.md | 6 +++--- docs/java/50.md | 2 +- docs/java/51.md | 4 ++-- docs/java/52.md | 4 ++-- docs/java/53.md | 6 +++--- docs/java/56.md | 2 +- docs/java/57.md | 8 ++++---- docs/java/62.md | 2 +- docs/java/63.md | 2 +- docs/java/65.md | 4 ++-- docs/java/70.md | 4 ++-- docs/kotlin/42.md | 2 +- docs/misc/31.md | 2 +- docs/php/168.md | 4 ++-- docs/php/176.md | 2 +- docs/php/180.md | 2 +- docs/py/10.md | 2 +- docs/py/15.md | 2 +- docs/py/26.md | 2 +- docs/py/42.md | 2 +- docs/ruby/66.md | 2 +- docs/ruby/67.md | 2 +- docs/ruby/83.md | 4 ++-- docs/ruby/84.md | 2 +- docs/ruby/86.md | 2 +- docs/servlet/19.md | 2 +- docs/servlet/3.md | 2 +- docs/servlet/4.md | 2 +- docs/servlet/6.md | 8 ++++---- docs/spring-boot/17.md | 2 +- docs/spring-boot/21.md | 2 +- docs/spring-boot/23.md | 2 +- docs/spring-boot/37.md | 2 +- docs/spring-boot/4.md | 2 +- docs/spring-boot/41.md | 2 +- docs/spring-boot/77.md | 2 +- docs/spring/10.md | 2 +- docs/spring/13.md | 2 +- docs/spring/18.md | 2 +- docs/spring/2.md | 14 +++++++------- docs/spring/21.md | 6 +++--- docs/spring/22.md | 8 ++++---- docs/spring/23.md | 6 +++--- docs/spring/24.md | 2 +- docs/spring/25.md | 2 +- docs/spring/26.md | 2 +- docs/spring/27.md | 6 +++--- docs/spring/3.md | 4 ++-- docs/spring/31.md | 2 +- docs/spring/34.md | 2 +- docs/spring/38.md | 4 ++-- docs/spring/4.md | 2 +- docs/spring/5.md | 2 +- docs/spring/51.md | 2 +- docs/spring/6.md | 6 +++--- docs/spring/7.md | 6 +++--- docs/spring/9.md | 2 +- docs/spring/SUMMARY.md | 6 +++--- docs/symfony/101.md | 2 +- docs/symfony/102.md | 2 +- docs/symfony/87.md | 2 +- docs/symfony/94.md | 6 +++--- docs/symfony/97.md | 2 +- 92 files changed, 136 insertions(+), 136 deletions(-) diff --git a/docs/db/109.md b/docs/db/109.md index 0317bde..a1d3ada 100644 --- a/docs/db/109.md +++ b/docs/db/109.md @@ -1017,7 +1017,7 @@ public void insertBooksForAuthor(String author, List titles) { ``` -`@Transaction`注释使`insertBooksForAuthor()`在事务内运行。 因此,要么插入所有书籍,要么不插入任何书籍。 +`@Transaction`注解使`insertBooksForAuthor()`在事务内运行。 因此,要么插入所有书籍,要么不插入任何书籍。 `JDBIEx9.java` diff --git a/docs/db/111.md b/docs/db/111.md index f798970..341d791 100644 --- a/docs/db/111.md +++ b/docs/db/111.md @@ -534,7 +534,7 @@ public class Car implements Serializable { ``` -该类用`@Entity`注解装饰; `@Table`注释指定被注释实体的主表。 +该类用`@Entity`注解装饰; `@Table`注解指定被注释实体的主表。 ```java @Id @@ -543,6 +543,6 @@ public Long getId() { ``` -`@Id`注释指定实体的主键,`@GeneratedValue`提供规范主键值的生成策略。 +`@Id`注解指定实体的主键,`@GeneratedValue`提供规范主键值的生成策略。 在本教程中,我们介绍了 Hibernate ORM。 我们已经使用了 Derby 数据库。 ZetCode 具有以下相关教程: [EclipseLink 教程](/java/eclipselink/), [MySQL Java 教程](/db/mysqljava/), [JDBC 模板教程](db/jdbctemplate/)和 [Apache Derby 教程](/db/apachederbytutorial/)。 \ No newline at end of file diff --git a/docs/dotnet/142.md b/docs/dotnet/142.md index d7d95d5..2e7027c 100644 --- a/docs/dotnet/142.md +++ b/docs/dotnet/142.md @@ -1024,7 +1024,7 @@ public BigValueException(string msg) : base(msg) {} ``` -在构造函数内部,我们称为父级的构造函数。 我们将消息传递给父母。 +在构造函数内部,我们称为父级的构造函数。 我们将消息传递给父级。 ```cs if (x > LIMIT) diff --git a/docs/dotnet/99.md b/docs/dotnet/99.md index 0af3447..3432923 100644 --- a/docs/dotnet/99.md +++ b/docs/dotnet/99.md @@ -928,7 +928,7 @@ End Sub ``` -在构造函数内部,我们称为父级的构造函数。 我们将消息传递给父母。 +在构造函数内部,我们称为父级的构造函数。 我们将消息传递给父级。 ```vb If (x > LIMIT) Then diff --git a/docs/graph/5.md b/docs/graph/5.md index 44929ff..c18c5c9 100644 --- a/docs/graph/5.md +++ b/docs/graph/5.md @@ -774,7 +774,7 @@ public class ShootingMissilesEx extends JFrame { ``` -最后,这是主要课程。 +最后,这是主要类。 ![Shooting missiles](img/18c4a40e9287a3753b29e323555effe9.jpg) diff --git a/docs/graph/6.md b/docs/graph/6.md index 145f221..d60a498 100644 --- a/docs/graph/6.md +++ b/docs/graph/6.md @@ -779,7 +779,7 @@ public class CollisionEx extends JFrame { ``` -最后,这是主要课程。 +最后,这是主要类。 ![Shooting aliens](img/63963f143c0334a096538fa962ff3cc1.jpg) diff --git a/docs/gui/100.md b/docs/gui/100.md index 72e492f..0f7713e 100644 --- a/docs/gui/100.md +++ b/docs/gui/100.md @@ -78,7 +78,7 @@ wxPython API 是一组方法和对象。 小部件是 GUI 应用的基本构建 ### 继承 -wxPython 中的小部件之间有特定的关系。 此关系是通过继承开发的。 继承是面向对象编程的关键部分。 小部件形成层次结构。 小部件可以继承其他小部件的功能。 现有的类称为基类,父母或祖先。 继承的小部件我们称为派生小部件,子小部件或后代。 +wxPython 中的小部件之间有特定的关系。 此关系是通过继承开发的。 继承是面向对象编程的关键部分。 小部件形成层次结构。 小部件可以继承其他小部件的功能。 现有的类称为基类,父级或祖先。 继承的小部件我们称为派生小部件,子小部件或后代。 ![Inheritance diagram](img/582a6d80f78f4af134c37c1d679fe86c.jpg) diff --git a/docs/gui/101.md b/docs/gui/101.md index acab615..e43eb5f 100644 --- a/docs/gui/101.md +++ b/docs/gui/101.md @@ -61,7 +61,7 @@ frame.Show() ``` -在这里,我们创建一个`wx.Frame`对象。 `wx.Frame`小部件是重要的容器小部件。 稍后我们将详细分析此小部件。 `wx.Frame`小部件是其他小部件的父级小部件。 它本身没有父母。 如果为父参数指定`None`,则表明我们的小部件没有父项。 它是小部件层次结构中的顶部小部件。 创建`wx.Frame`小部件后,必须调用`Show()`方法才能将其实际显示在屏幕上。 +在这里,我们创建一个`wx.Frame`对象。 `wx.Frame`小部件是重要的容器小部件。 稍后我们将详细分析此小部件。 `wx.Frame`小部件是其他小部件的父级小部件。 它本身没有父级。 如果为父参数指定`None`,则表明我们的小部件没有父项。 它是小部件层次结构中的顶部小部件。 创建`wx.Frame`小部件后,必须调用`Show()`方法才能将其实际显示在屏幕上。 ```py app.MainLoop() diff --git a/docs/gui/182.md b/docs/gui/182.md index ca8838e..16f2b0c 100644 --- a/docs/gui/182.md +++ b/docs/gui/182.md @@ -503,7 +503,7 @@ public class Nibbles { ``` -在本课程中,我们设置了半字节游戏。 +在这个类中,我们设置了贪食蛇游戏。 ```java int borW = shell.getSize().x - shell.getClientArea().width; diff --git a/docs/gui/197.md b/docs/gui/197.md index 6706407..57c50b6 100644 --- a/docs/gui/197.md +++ b/docs/gui/197.md @@ -258,7 +258,7 @@ halign.add(hbox); ``` -水平框将添加到路线小部件。 对齐小部件将使按钮向右对齐。 我们必须记住,对齐容器仅包含一个子窗口小部件。 这就是为什么我们必须使用盒子。 +水平框将添加到对齐小部件。 对齐小部件将使按钮向右对齐。 我们必须记住,对齐容器仅包含一个子窗口小部件。 这就是为什么我们必须使用盒子。 ```java vbox.packStart(halign, false, false, 3); diff --git a/docs/gui/209.md b/docs/gui/209.md index de76d5c..3f2cb63 100644 --- a/docs/gui/209.md +++ b/docs/gui/209.md @@ -427,7 +427,7 @@ public class GNibbles extends Window { ``` -在本课程中,我们设置了半字节游戏。 注意,我们从板上获得了计时器对象。 这是执行干净的退出。 +在这个类中,我们设置了贪食蛇游戏。 注意,我们从板上获得了计时器对象。 这是执行干净的退出。 ![Nibbles](img/57db65522728ac2974d526684831d9e1.jpg) diff --git a/docs/gui/21.md b/docs/gui/21.md index 5e4da5c..b1e7cc6 100644 --- a/docs/gui/21.md +++ b/docs/gui/21.md @@ -304,7 +304,7 @@ QPushButton(string text, QWidget parent = None) ``` -`text`参数是将在按钮上显示的文本。 `parent`是一个小部件,我们在其上放置了按钮。 在我们的情况下,它将是`QWidget`。 应用的小部件形成层次结构。 在此层次结构中,大多数小部件都有其父级。 没有父母的小部件是顶层窗口。 +`text`参数是将在按钮上显示的文本。 `parent`是一个小部件,我们在其上放置了按钮。 在我们的情况下,它将是`QWidget`。 应用的小部件形成层次结构。 在此层次结构中,大多数小部件都有其父级。 没有父级的小部件是顶层窗口。 `quitbutton.py` diff --git a/docs/gui/218.md b/docs/gui/218.md index 9a9caf3..7aa64c3 100644 --- a/docs/gui/218.md +++ b/docs/gui/218.md @@ -424,7 +424,7 @@ public class Nibbles extends QMainWindow { ``` -在本课程中,我们设置了半字节游戏。 +在这个类中,我们设置了贪食蛇游戏。 ![Nibbles](img/38dfabbb54cf4bd80685b7fa00729df4.jpg) diff --git a/docs/gui/227.md b/docs/gui/227.md index 827b149..29937d4 100644 --- a/docs/gui/227.md +++ b/docs/gui/227.md @@ -479,7 +479,7 @@ Gtk.main ``` -在本课程中,我们设置了半字节游戏。 +在这个类中,我们设置了贪食蛇游戏。 ```rb def on_key_down widget, event diff --git a/docs/gui/251.md b/docs/gui/251.md index 159ebf5..c01882c 100644 --- a/docs/gui/251.md +++ b/docs/gui/251.md @@ -478,7 +478,7 @@ End Class ``` -在本课程中,我们设置了半字节游戏。 +在这个类中,我们设置了贪食蛇游戏。 ```vb Protected Overrides Function OnKeyPressEvent(ByVal e As Gdk.EventKey) As Boolean @@ -488,7 +488,7 @@ End Function ``` -在本课程中,我们捕获按键事件。 并将处理委托给板类的`OnKeyDown`方法。 +在这个类中,我们捕获按键事件。 并将处理委托给板类的`OnKeyDown`方法。 ![Nibbles](img/4d4f26dc144b79ca59058907f50bf63d.jpg) diff --git a/docs/gui/271.md b/docs/gui/271.md index 4c7659b..0aa837b 100644 --- a/docs/gui/271.md +++ b/docs/gui/271.md @@ -109,7 +109,7 @@ w.add(fixed); ## 按钮 -在此代码示例中,我们将使用垂直框,水平框和路线小部件。 水平框将小部件排列为一行。 同样,垂直框将其小部件放在一列中。 `Alignment`容器控制其子窗口小部件的对齐方式和大小。 +在此代码示例中,我们将使用垂直框,水平框和对齐小部件。 水平框将小部件排列为一行。 同样,垂直框将其小部件放在一列中。 `Alignment`容器控制其子窗口小部件的对齐方式和大小。 ```php bookList; ``` -`@XmlElementWrapper`注释在`book`元素周围定义了包装元素。 `@XmlElement`注解定义包装器内的 XML 元素的名称。 +`@XmlElementWrapper`注解在`book`元素周围定义了包装元素。 `@XmlElement`注解定义包装器内的 XML 元素的名称。 `JavaWriteXmlJaxbEx.java` diff --git a/docs/java/47.md b/docs/java/47.md index 4136d43..b176bde 100644 --- a/docs/java/47.md +++ b/docs/java/47.md @@ -302,7 +302,7 @@ public class Car implements Serializable { ``` -实体 bean 用`@Entity`注释修饰。 该实体映射到`Cars`表。 +实体 bean 用`@Entity`注解修饰。 该实体映射到`Cars`表。 ```java @Id @@ -416,7 +416,7 @@ private EntityManager em; ``` -容器使用`persistence.xml`中的信息创建`EntityManager`。 `@PersistenceContext`注释将实体管理器注入到 Bean 中。 管理器已映射到`carpu`持久性单元。 实体管理器用于通过持久性上下文与数据进行交互。 +容器使用`persistence.xml`中的信息创建`EntityManager`。 `@PersistenceContext`注解将实体管理器注入到 Bean 中。 管理器已映射到`carpu`持久性单元。 实体管理器用于通过持久性上下文与数据进行交互。 ```java @Override @@ -586,7 +586,7 @@ public class SaveCar extends HttpServlet { ``` -`@WebServlet`注释将`SaveCar` Servlet 映射到`/save`路径。 +`@WebServlet`注解将`SaveCar` Servlet 映射到`/save`路径。 ```java @EJB diff --git a/docs/java/50.md b/docs/java/50.md index 4dcbdda..55c4c25 100644 --- a/docs/java/50.md +++ b/docs/java/50.md @@ -714,7 +714,7 @@ public interface CarDAO { ``` -这是`CarDAO`界面,显示用于访问我们的数据库的方法签名。 +这是`CarDAO`接口,显示用于访问我们的数据库的方法签名。 `Executable.java` diff --git a/docs/java/51.md b/docs/java/51.md index 99c1f22..35fcc34 100644 --- a/docs/java/51.md +++ b/docs/java/51.md @@ -159,7 +159,7 @@ public Resolution hello() { ``` -`@DefaultHandler`注释为此动作 bean 设置了默认处理器。 它用当前日期填充`date`属性,并返回一个新的`ForwardResolution`。 分辨率转发到视图。 +`@DefaultHandler`注解为此动作 bean 设置了默认处理器。 它用当前日期填充`date`属性,并返回一个新的`ForwardResolution`。 分辨率转发到视图。 `showDate.jsp` @@ -356,7 +356,7 @@ private String userName; ``` -`@Validate`注释用于强制验证表单的用户名字段。 如果未输入任何值,则会显示一条错误消息。 +`@Validate`注解用于强制验证表单的用户名字段。 如果未输入任何值,则会显示一条错误消息。 ![Validation error message](img/1cf288248acf4b19eec2ee353d47047c.jpg) diff --git a/docs/java/52.md b/docs/java/52.md index cae1247..03c639b 100644 --- a/docs/java/52.md +++ b/docs/java/52.md @@ -540,7 +540,7 @@ public Resolution addBook() { ``` -`@DefaultHandler`注释指定此操作 bean 的默认处理器方法。 (可以定义多个处理器。)处理器创建`Book` bean,调用`BookService.saveBook()`并转发到适当的视图。 +`@DefaultHandler`注解指定此操作 bean 的默认处理器方法。 (可以定义多个处理器。)处理器创建`Book` bean,调用`BookService.saveBook()`并转发到适当的视图。 `SelectOneBookActionBean.java` @@ -763,7 +763,7 @@ public interface BookDAO { ``` -访问数据的方法在`BookDAO`界面中定义。 当我们根据该接口进行编程时,代码的耦合较少。 +访问数据的方法在`BookDAO`接口中定义。 当我们根据该接口进行编程时,代码的耦合较少。 `MyBatisDAO.java` diff --git a/docs/java/53.md b/docs/java/53.md index 835cf1a..9ec4c58 100644 --- a/docs/java/53.md +++ b/docs/java/53.md @@ -10,7 +10,7 @@ EclipseLink 是来自 Eclipse Foundation 的开源 Eclipse Persistence Services Java 持久性 API (JPA) 是 Java 应用编程接口规范,它描述了使用 Java 的应用中关系数据的管理。 Java 持久性查询语言(JPQL) 是独立于平台的面向对象的查询语言。 它是 JPA 规范的一部分。 JPQL 用于对关系数据库中存储的实体进行查询。 它在很大程度上受到 SQL 的启发,其查询在语法上类似于 SQL 查询,但是针对 JPA 实体对象而不是直接针对数据库表进行操作。 -实体是 Java 类,将与 JPA 保持在一起。 它必须用`javax.persistence.Entity`注释修饰。 此外,它必须具有`@Id`注解和`@GeneratedValue`,注解定义实体的主键的唯一 ID,该`@GeneratedValue`定义生成主键的策略。 `@Table`注解指定实体映射到的数据库表。 +实体是 Java 类,将与 JPA 保持在一起。 它必须用`javax.persistence.Entity`注解修饰。 此外,它必须具有`@Id`注解和`@GeneratedValue`,注解定义实体的主键的唯一 ID,该`@GeneratedValue`定义生成主键的策略。 `@Table`注解指定实体映射到的数据库表。 `persistence.xml`是 JPA 中的标准配置文件。 它必须包含在包含实体 bean 的 JAR 文件内的`META-INF`目录中。 在此文件中,我们定义了持久性单元,这些持久性单元定义了由应用中的实体管理器实例管理的所有实体类的集合。 `EntityManager`是管理实体的持久状态的类。 @@ -185,7 +185,7 @@ public class Car implements Serializable { ``` -这是我们的实体类。 它用`@Entity`注释修饰。 +这是我们的实体类。 它用`@Entity`注解修饰。 ```java @Table(name="Cars") @@ -631,7 +631,7 @@ public interface CarsService { ``` -在`CarsService`界面中,我们定义了通过实体管理器访问数据库的合同方法。 +在`CarsService`接口中,我们定义了通过实体管理器访问数据库的合同方法。 `CarsServiceImpl.java` diff --git a/docs/java/56.md b/docs/java/56.md index caa3139..f379bcc 100644 --- a/docs/java/56.md +++ b/docs/java/56.md @@ -253,7 +253,7 @@ public class ValidationFilter implements Filter { ``` -`@WebFilter`注释声明一个 servlet 过滤器。 过滤器将应用于指定的 URL 模式。 在我们的例子中,它在`Greet` servlet 调用之前被调用。 +`@WebFilter`注解声明一个 servlet 过滤器。 过滤器将应用于指定的 URL 模式。 在我们的例子中,它在`Greet` servlet 调用之前被调用。 ```java public class ValidationFilter implements Filter { diff --git a/docs/java/57.md b/docs/java/57.md index f931829..b174986 100644 --- a/docs/java/57.md +++ b/docs/java/57.md @@ -111,7 +111,7 @@ public class Car { ``` -`Car` bean 用 lombok 的`@Data`注释修饰。 它会自动创建获取器和设置器方法,`equals()`方法,`toString()`方法和`hashCode()`方法。 +`Car` bean 用 lombok 的`@Data`注解修饰。 它会自动创建获取器和设置器方法,`equals()`方法,`toString()`方法和`hashCode()`方法。 ```java @NotNull @@ -120,7 +120,7 @@ private String name; ``` -`@NotNull`注释指出`name`属性可能不是`null`。 `@Size`注释设置属性的最小和最大大小。 +`@NotNull`注解指出`name`属性可能不是`null`。 `@Size`注解设置属性的最小和最大大小。 ```java @Min(value = 1000) @@ -451,7 +451,7 @@ private String name; ``` -`@NotEmpty`注释导致用户名不能为空。 +`@NotEmpty`注解导致用户名不能为空。 ```java @NotEmpty @@ -461,7 +461,7 @@ private String email; ``` -电子邮件不能为空,并且必须匹配给定的模式。 用`@Pattern`注释设置模式。 +电子邮件不能为空,并且必须匹配给定的模式。 用`@Pattern`注解设置模式。 `DoValidate.java` diff --git a/docs/java/62.md b/docs/java/62.md index 14568b0..7294dfc 100644 --- a/docs/java/62.md +++ b/docs/java/62.md @@ -582,7 +582,7 @@ public class SpringBootClient { ``` -`SpringBootClient`设置 Spring Boot 应用。 `@EnableAutoConfiguration`注释启用 Spring Application Context 的自动配置,尝试猜测和配置我们可能需要的 bean。 +`SpringBootClient`设置 Spring Boot 应用。 `@EnableAutoConfiguration`注解启用 Spring Application Context 的自动配置,尝试猜测和配置我们可能需要的 bean。 `MyRunner.java` diff --git a/docs/java/63.md b/docs/java/63.md index 256cc20..71fc5be 100644 --- a/docs/java/63.md +++ b/docs/java/63.md @@ -123,7 +123,7 @@ public class HelloServlet extends HttpServlet { ``` -Java 类用`@WebServlet`注释修饰。 它映射到`hello` URL 模式。 +Java 类用`@WebServlet`注解修饰。 它映射到`hello` URL 模式。 ```java @Override diff --git a/docs/java/65.md b/docs/java/65.md index 79f8615..3d923d9 100644 --- a/docs/java/65.md +++ b/docs/java/65.md @@ -1094,7 +1094,7 @@ Spring 将扫描`com.zetcode`包中的组件。 ``` -``元素注册一个`PropertySourcesPlaceholderConfigurer`,该元素允许使用`@Value`注释设置属性。 `location`属性指示在哪里查找属性。 +``元素注册一个`PropertySourcesPlaceholderConfigurer`,该元素允许使用`@Value`注解设置属性。 `location`属性指示在哪里查找属性。 `my.properties` @@ -1323,7 +1323,7 @@ public class Application { ``` -`Application`设置 Spring Boot 应用。 `@SpringBootApplication`注释执行三件事:1)将类定义为配置类,2)启用自动配置,3)启用组件扫描。 +`Application`设置 Spring Boot 应用。 `@SpringBootApplication`注解执行三件事:1)将类定义为配置类,2)启用自动配置,3)启用组件扫描。 `MyController.java` diff --git a/docs/java/70.md b/docs/java/70.md index 4cac3d0..f4b7667 100644 --- a/docs/java/70.md +++ b/docs/java/70.md @@ -6,7 +6,7 @@ ## `ImageIcon` -`Icon`是固定大小的小图片,通常用于装饰组件。 `ImageIcon`是`Icon`界面的实现,可从图像绘制图标。 可以从 URL,文件名或字节数组创建图像。 +`Icon`是固定大小的小图片,通常用于装饰组件。 `ImageIcon`是`Icon`接口的实现,可从图像绘制图标。 可以从 URL,文件名或字节数组创建图像。 ```java paintIcon(Component c, Graphics g, int x, int y) @@ -412,7 +412,7 @@ class MissingIcon implements Icon { ``` -要创建自定义图标,我们实现`Icon`界面。 +要创建自定义图标,我们实现`Icon`接口。 ```java @Override diff --git a/docs/kotlin/42.md b/docs/kotlin/42.md index 0d41750..7ed9a75 100644 --- a/docs/kotlin/42.md +++ b/docs/kotlin/42.md @@ -363,7 +363,7 @@ val labels = stdCols.map { `JCheckBox`是带有标签的框,该标签具有两种状态:开和关。 如果选中此复选框,则在复选框中用勾号表示。 复选框可用于在启动时显示或隐藏启动屏幕,切换工具栏的可见性等。 -通过`JCheckBox`可以使用`ActionListener`或`ItemListener`。 通常使用后一种选项。 `ItemListener`是用于接收项目事件的界面。 对处理项目事件感兴趣的类,例如观察者,实现此接口。 使用组件的`addItemListener()`方法向组件注册观察者对象。 发生项目选择事件时,将调用观察者的`itemStateChanged()`方法。 +通过`JCheckBox`可以使用`ActionListener`或`ItemListener`。 通常使用后一种选项。 `ItemListener`是用于接收项目事件的接口。 对处理项目事件感兴趣的类,例如观察者,实现此接口。 使用组件的`addItemListener()`方法向组件注册观察者对象。 发生项目选择事件时,将调用观察者的`itemStateChanged()`方法。 `KotlinSwingCheckBoxEx.kt` diff --git a/docs/misc/31.md b/docs/misc/31.md index 26071a6..a944112 100644 --- a/docs/misc/31.md +++ b/docs/misc/31.md @@ -88,7 +88,7 @@ Page.getCurrent().setTitle("CheckBox"); ``` -在这里,我们设置网页的标题。 我们也可以使用`@Title`注释设置页面标题。 +在这里,我们设置网页的标题。 我们也可以使用`@Title`注解设置页面标题。 ```java cbox.addValueChangeListener(e -> { diff --git a/docs/php/168.md b/docs/php/168.md index 8d18c90..9b49b28 100644 --- a/docs/php/168.md +++ b/docs/php/168.md @@ -228,7 +228,7 @@ $p->name = "Jane"; ``` -我们从外部访问`$name`成员。 在外部世界,我们的意思是“不在课堂上”。 可以,因为`$name`变量被声明为`public`。 无法访问`$age`成员。 `private`修饰符禁止这样做。 如果取消注释代码行,则将出现“致命错误:无法访问私有属性`Person::$age`”错误。 +我们从外部访问`$name`成员。 在外部世界,我们的意思是“不在类中”。 可以,因为`$name`变量被声明为`public`。 无法访问`$age`成员。 `private`修饰符禁止这样做。 如果取消注释代码行,则将出现“致命错误:无法访问私有属性`Person::$age`”错误。 `access2.php` @@ -311,7 +311,7 @@ $sys->getInfo(); ``` -在此脚本中,我们有一个`SysInfo`类。 它将一些系统信息输出到控制台。 我们有两个私人职能和一个公共职能。 这里的私有方法仅用于`SysInfo`类的内部工作。 他们不应该在课外被称为。 +在此脚本中,我们有一个`SysInfo`类。 它将一些系统信息输出到控制台。 我们有两个私有职能和一个公共职能。 这里的私有方法仅用于`SysInfo`类的内部工作。 他们不应该在类外被调用。 ```php $sys = new SysInfo(); diff --git a/docs/php/176.md b/docs/php/176.md index 3a71f38..6abc782 100644 --- a/docs/php/176.md +++ b/docs/php/176.md @@ -10,7 +10,7 @@ Doctrine 是一组 PHP 库,主要致力于在 PHP 中提供持久性服务。 ## Doctrine `QueryBuilder` -Doctrine `QueryBuilder`为创建和运行数据库查询提供了方便,流畅的界面。 它是对运行 SQL 语句的低级详细信息的抽象。 它可以使程序员避免过程的复杂性。 +Doctrine `QueryBuilder`为创建和运行数据库查询提供了方便,流畅的接口。 它是对运行 SQL 语句的低级详细信息的抽象。 它可以使程序员避免过程的复杂性。 Doctrine 有两种查询构建器; 一个用于 ORM,一个用于 DBAL。 在本教程中,我们介绍了 DBAL 的`QueryBuilder`。 diff --git a/docs/php/180.md b/docs/php/180.md index b14adc4..5638d0a 100644 --- a/docs/php/180.md +++ b/docs/php/180.md @@ -258,7 +258,7 @@ This is the output. ## CakePHP 查询构建器 -查询构建器为创建和运行数据库查询提供了方便,流畅的界面。 它是对运行 SQL 语句的低级详细信息的抽象。 它可以使程序员避免过程的复杂性。 +查询构建器为创建和运行数据库查询提供了方便,流畅的接口。 它是对运行 SQL 语句的低级详细信息的抽象。 它可以使程序员避免过程的复杂性。 `query_builder.php` diff --git a/docs/py/10.md b/docs/py/10.md index de256a3..b4cce2d 100644 --- a/docs/py/10.md +++ b/docs/py/10.md @@ -300,7 +300,7 @@ True 并且,或者对短路进行了求值。 短路求值意味着仅当第一个参数不足以确定表达式的值时,才求值第二个参数:当和的第一个参数求值为`false`时,总值必须为`false`; 当或的第一个参数为`true`时,总值必须为`true`。 -以下示例演示了简短的课时求值。 +以下示例演示了简短的短路求值。 `short_circuit.py` diff --git a/docs/py/15.md b/docs/py/15.md index 137ca2d..3e56615 100644 --- a/docs/py/15.md +++ b/docs/py/15.md @@ -495,7 +495,7 @@ class Dog: ``` -这是`animals.py`文件的内容。 我们有两节课。 +这是`animals.py`文件的内容。 我们有两个类。 `mclass.py` diff --git a/docs/py/26.md b/docs/py/26.md index 81ecf2c..56d1ab9 100644 --- a/docs/py/26.md +++ b/docs/py/26.md @@ -299,7 +299,7 @@ print(f"The parent of the parent of {path} is {path.parent.parent}") ``` -我们可以得到父母的父母。 +我们可以得到父级的父级。 ```py $ parents.py diff --git a/docs/py/42.md b/docs/py/42.md index b47cbb8..0b5d057 100644 --- a/docs/py/42.md +++ b/docs/py/42.md @@ -62,7 +62,7 @@ def hello(): ``` -使用`@route()`装饰器,我们定义了一条路线。 路由是 URL 与 Web 服务器函数之间的映射。 在我们的例子中,该函数返回一条简单的文本消息。 +使用`@route()`装饰器,我们定义了一个路由。 路由是 URL 与 Web 服务器函数之间的映射。 在我们的例子中,该函数返回一条简单的文本消息。 ```py run(host='localhost', port=8080, debug=True) diff --git a/docs/ruby/66.md b/docs/ruby/66.md index 2b0741e..32a77c2 100644 --- a/docs/ruby/66.md +++ b/docs/ruby/66.md @@ -399,7 +399,7 @@ end ``` -Sinatra 应用在`/target`路线上返回问候语。 它从`params`哈希中获取值。 +Sinatra 应用在`/target`路由上返回问候语。 它从`params`哈希中获取值。 `mpost.rb` diff --git a/docs/ruby/67.md b/docs/ruby/67.md index 1e8a55d..73a8a1b 100644 --- a/docs/ruby/67.md +++ b/docs/ruby/67.md @@ -411,7 +411,7 @@ end ``` -Sinatra 应用在`/target`路线上返回问候语。 它从`params`哈希中获取值。 +Sinatra 应用在`/target`路由上返回问候语。 它从`params`哈希中获取值。 `mpost.rb` diff --git a/docs/ruby/83.md b/docs/ruby/83.md index 9fbf5cc..070a3df 100644 --- a/docs/ruby/83.md +++ b/docs/ruby/83.md @@ -437,7 +437,7 @@ $ ./circle.rb 请注意,与其他面向对象的编程语言不同,继承在 Ruby 访问修饰符中不扮演的角色。 只有两件事很重要。 首先,如果我们在类定义的内部或外部调用方法。 其次,如果我们使用或不使用指向当前接收器的`self`关键字。 -访问修饰符可防止意外修改数据。 它们使程序更强大。 某些方法的实现可能会发生变化。 这些方法是很好的私有方法。 公开给用户的界面仅应在确实必要时更改。 多年来,用户习惯于使用特定的方法,并且通常不赞成向后兼容。 +访问修饰符可防止意外修改数据。 它们使程序更强大。 某些方法的实现可能会发生变化。 这些方法是很好的私有方法。 公开给用户的接口仅应在确实必要时更改。 多年来,用户习惯于使用特定的方法,并且通常不赞成向后兼容。 ```ruby #!/usr/bin/ruby @@ -836,7 +836,7 @@ puts d.show_count ``` -我们从`Human`和`Dog`类创建实例。 我们在`Dog`对象上调用`show_count`方法。 `Dog`类没有这种方法。 然后调用祖父母的(Being)方法。 +我们从`Human`和`Dog`类创建实例。 我们在`Dog`对象上调用`show_count`方法。 `Dog`类没有这种方法。 然后调用祖父级`Being`的方法。 ```ruby $ ./inheritance2.rb diff --git a/docs/ruby/84.md b/docs/ruby/84.md index 4b530e4..3f4c1c5 100644 --- a/docs/ruby/84.md +++ b/docs/ruby/84.md @@ -42,7 +42,7 @@ p c2 ``` -我们有汽车课。 在类的定义中,我们使用`attr_reader`和`attr_writer`为`Car`类创建两个获取器和设置器方法。 +我们有汽车类。 在类的定义中,我们使用`attr_reader`和`attr_writer`为`Car`类创建两个获取器和设置器方法。 ```ruby attr_reader :name, :price diff --git a/docs/ruby/86.md b/docs/ruby/86.md index 5814229..4743413 100644 --- a/docs/ruby/86.md +++ b/docs/ruby/86.md @@ -37,7 +37,7 @@ puts "Orange" ``` -`puts`方法将两个字符串打印到控制台。 每个人都有自己的路线。 该方法自动包括换行符。 +`puts`方法将两个字符串打印到控制台。 每个人都有自己的路由。 该方法自动包括换行符。 ```ruby $ ./printing.rb diff --git a/docs/servlet/19.md b/docs/servlet/19.md index c96e73f..2f99601 100644 --- a/docs/servlet/19.md +++ b/docs/servlet/19.md @@ -275,7 +275,7 @@ strategy.setType(Country.class); ``` -我们使用 OpenCSV 的`HeaderColumnNameMappingStrategy`将`Country` bean 映射到 CSV 文件中的行。 每行都转换为一个 bean。 映射是在`@CsvBindByName`注释的帮助下完成的。 +我们使用 OpenCSV 的`HeaderColumnNameMappingStrategy`将`Country` bean 映射到 CSV 文件中的行。 每行都转换为一个 bean。 映射是在`@CsvBindByName`注解的帮助下完成的。 ```java try (var br = new BufferedReader( diff --git a/docs/servlet/3.md b/docs/servlet/3.md index f11766a..e357aee 100644 --- a/docs/servlet/3.md +++ b/docs/servlet/3.md @@ -272,7 +272,7 @@ public class ReadCountries extends HttpServlet { ``` -Java 类用`@WebServlet`注释修饰。 它映射到`ReadCountries` URL 模式。 +Java 类用`@WebServlet`注解修饰。 它映射到`ReadCountries` URL 模式。 ```java response.setContentType("text/html;charset=UTF-8"); diff --git a/docs/servlet/4.md b/docs/servlet/4.md index dea85d2..4bbe0f8 100644 --- a/docs/servlet/4.md +++ b/docs/servlet/4.md @@ -402,7 +402,7 @@ public class GetCities extends HttpServlet { ``` -Java 类用`@WebServlet`注释修饰。 它映射到`GetCities` URL 模式。 +Java 类用`@WebServlet`注解修饰。 它映射到`GetCities` URL 模式。 ```java @Inject diff --git a/docs/servlet/6.md b/docs/servlet/6.md index 8057d84..d4cd602 100644 --- a/docs/servlet/6.md +++ b/docs/servlet/6.md @@ -253,7 +253,7 @@ public class Car { ``` -使用`@XmlRootElement`注释,我们设置元素的名称。 `@XmlType`用于设置元素标签的生成顺序。 +使用`@XmlRootElement`注解,我们设置元素的名称。 `@XmlType`用于设置元素标签的生成顺序。 `CarList.java` @@ -293,14 +293,14 @@ public class CarList { ``` -`@XmlElementWrapper`注释在列表中的元素周围创建了一个包装。 +`@XmlElementWrapper`注解在列表中的元素周围创建了一个包装。 ```java @XmlElement(name = "car") ``` -`@XmlElement`注释设置包装元素的名称。 +`@XmlElement`注解设置包装元素的名称。 `ServiceLocator.java` @@ -638,7 +638,7 @@ public class GetCars extends HttpServlet { ``` -Java 类用`@WebServlet`注释修饰。 它映射到`GetCars` URL 模式。 +Java 类用`@WebServlet`注解修饰。 它映射到`GetCars` URL 模式。 ```java response.setContentType("application/xml;charset=UTF-8"); diff --git a/docs/spring-boot/17.md b/docs/spring-boot/17.md index 3f6dc3e..cea3b9e 100644 --- a/docs/spring-boot/17.md +++ b/docs/spring-boot/17.md @@ -8,7 +8,7 @@ Spring 是流行的 Java 应用框架,而 Spring Boot 是 Spring 的演进, ## Spring Data JPA -Spring Data JPA 是伞式 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库界面自动创建存储库实现。 +Spring Data JPA 是伞式 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库接口自动创建存储库实现。 ## Spring Data JPA 排序 diff --git a/docs/spring-boot/21.md b/docs/spring-boot/21.md index 8eff1cf..5f88f81 100644 --- a/docs/spring-boot/21.md +++ b/docs/spring-boot/21.md @@ -12,7 +12,7 @@ Spring Data JPA 有助于实现基于 JPA 的存储库。 它增强了对基于 ## Spring Data JPA 查询示例 -示例查询(QBE)是一种具有简单界面的用户友好查询技术。 它允许动态查询创建。 我们不需要使用商店特定的查询语言编写查询。 +示例查询(QBE)是一种具有简单接口的用户友好查询技术。 它允许动态查询创建。 我们不需要使用商店特定的查询语言编写查询。 我们处理三个对象。 `probe`是带有填充字段的域对象的实际示例。 `ExampleMatcher`包含有关如何匹配特定字段的详细信息。 `Example`由探针和`ExampleMatcher`组成。 它用于创建查询。 diff --git a/docs/spring-boot/23.md b/docs/spring-boot/23.md index 3ad6f47..f6a6785 100644 --- a/docs/spring-boot/23.md +++ b/docs/spring-boot/23.md @@ -10,7 +10,7 @@ CSV(逗号分隔值)是一种简单的数据格式,其中(大多数) Hibernate 是 Java 语言的对象关系映射框架。 它提供了一个框架,用于将面向对象的域模型映射到关系数据库。 对象关系映射(ORM)是一种编程技术,用于在面向对象的编程语言中的不兼容类型系统之间转换数据。 -Spring Data JPA 是 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库变得更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库界面自动创建存储库实现。 +Spring Data JPA 是 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库变得更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库接口自动创建存储库实现。 RESTFul 应用遵循 REST 架构样式,该样式用于设计网络应用。 RESTful 应用生成 HTTP 请求,这些请求对资源执行 CRUD(创建/读取/更新/删除)操作。 diff --git a/docs/spring-boot/37.md b/docs/spring-boot/37.md index b01d908..96da0ab 100644 --- a/docs/spring-boot/37.md +++ b/docs/spring-boot/37.md @@ -10,7 +10,7 @@ Spring 是用于开发 Java 企业应用的 Java 应用框架。 它还有助于 H2 是完全用 Java 实现的开源关系数据库管理系统。 它可以嵌入 Java 应用中或以客户端-服务器模式运行。 它占地面积小,易于部署和安装。 它包含一个基于浏览器的控制台应用,用于查看和编辑数据库表。 -Spring Data JPA 是总括性 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库变得更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库界面自动创建存储库实现。 +Spring Data JPA 是总括性 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库变得更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库接口自动创建存储库实现。 ## Spring Boot 服务 PDF 示例 diff --git a/docs/spring-boot/4.md b/docs/spring-boot/4.md index 6c9b9dd..249ee9b 100644 --- a/docs/spring-boot/4.md +++ b/docs/spring-boot/4.md @@ -186,7 +186,7 @@ $ mvn spring-boot:run 应用运行后,我们可以导航到`localhost:8080/`。 -在本教程中,我们展示了如何使用 Spring `ViewControllerRegistry`创建简单的路线。 +在本教程中,我们展示了如何使用 Spring `ViewControllerRegistry`创建简单的路由。 * [Spring Boot PostgreSQL 教程](/springboot/postgresql/) * [Spring Boot `@Bean`](/articles/springbootbean/) diff --git a/docs/spring-boot/41.md b/docs/spring-boot/41.md index 4dfacd0..fadb854 100644 --- a/docs/spring-boot/41.md +++ b/docs/spring-boot/41.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 Spring Boot 是 H2 是 Java 开源关系数据库管理。 它可以在客户端-服务器模式下运行,也可以嵌入 Java 应用中。 H2 易于部署和安装,占地面积小。 -Spring Data JPA 是总括性 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库变得更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库界面自动创建存储库实现。 +Spring Data JPA 是总括性 Spring Data 项目的一部分,该项目使实现基于 JPA 的存储库变得更加容易。 Spring Data JPA 使用 JPA 将数据存储在关系数据库中。 它可以在运行时从存储库接口自动创建存储库实现。 RESTFul 应用遵循 REST 架构样式,该样式用于设计网络应用。 RESTful 应用生成对资源执行 CRUD(创建/读取/更新/删除)操作的 HTTP 请求。 RESTFul 应用通常以 JSON 或 XML 格式返回数据。 diff --git a/docs/spring-boot/77.md b/docs/spring-boot/77.md index b076000..ee6ae80 100644 --- a/docs/spring-boot/77.md +++ b/docs/spring-boot/77.md @@ -176,7 +176,7 @@ public class MyRoutesTest { ``` -使用`WebTestClient`,我们测试了两条路线。 +使用`WebTestClient`,我们测试了两个路由。 `com/zetcode/Application.java` diff --git a/docs/spring/10.md b/docs/spring/10.md index e37b96a..6eb1625 100644 --- a/docs/spring/10.md +++ b/docs/spring/10.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## Spring `@RequestHeader` -`@RequestHeader`注释将请求标头值绑定到方法参数。 如果方法参数为`Map`,`MultiValueMap`或`HttpHeaders`,则将使用所有标头名称和值填充映射。 +`@RequestHeader`注解将请求标头值绑定到方法参数。 如果方法参数为`Map`,`MultiValueMap`或`HttpHeaders`,则将使用所有标头名称和值填充映射。 ## Spring `@RequestHeader`示例 diff --git a/docs/spring/13.md b/docs/spring/13.md index ef84ae5..6cd5607 100644 --- a/docs/spring/13.md +++ b/docs/spring/13.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## 重定向 -视图名称中的特殊`redirect:`前缀将重定向到其他 URL。 最终效果与控制器已返回`RedirectView`的效果相同。 重定向应用于发布/重定向/获取(PRG)场景; PGR 是一种 Web 开发设计模式,可防止重复提交表单。 默认情况下,发送状态代码 302。 如果要更改,可以使用`@ResponseStatus`注释处理器方法的返回类型。 +视图名称中的特殊`redirect:`前缀将重定向到其他 URL。 最终效果与控制器已返回`RedirectView`的效果相同。 重定向应用于发布/重定向/获取(PRG)场景; PGR 是一种 Web 开发设计模式,可防止重复提交表单。 默认情况下,发送状态代码 302。 如果要更改,可以使用`@ResponseStatus`注解处理器方法的返回类型。 `RedirectAttributes`是`Model`接口的一种特殊化,控制器可以用来选择重定向方案的属性。 diff --git a/docs/spring/18.md b/docs/spring/18.md index a7e9f34..68e262a 100644 --- a/docs/spring/18.md +++ b/docs/spring/18.md @@ -196,4 +196,4 @@ $ mvn -q exec:java 在本教程中,我们展示了如何使用`BeanFactoryPostProcessor`注册新 bean。 -您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注释教程](/spring/qualifier/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring C 命名空间教程](/spring/cnamespace/), [Spring `context:property-placeholder`教程](/spring/propertyplaceholder/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring bean 参考教程](/spring/beanreference/)和 [Java 教程](/lang/java/)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注解教程](/spring/qualifier/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring C 命名空间教程](/spring/cnamespace/), [Spring `context:property-placeholder`教程](/spring/propertyplaceholder/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring bean 参考教程](/spring/beanreference/)和 [Java 教程](/lang/java/)。 \ No newline at end of file diff --git a/docs/spring/2.md b/docs/spring/2.md index 0bb40ec..c6ea703 100644 --- a/docs/spring/2.md +++ b/docs/spring/2.md @@ -1,14 +1,14 @@ -# Spring `@Bean`注释教程 +# Spring `@Bean`注解教程 > 原文: [http://zetcode.com/spring/bean/](http://zetcode.com/spring/bean/) -Spring `@Bean`注释教程展示了如何使用`@Bean`注释在 Java 配置类中声明 bean。 +Spring `@Bean`注解教程展示了如何使用`@Bean`注解在 Java 配置类中声明 bean。 Spring 是用于创建企业应用的流行 Java 应用框架。 ## Spring `@Bean` -`@Bean`注释指示带注释的方法产生要由 Spring 容器管理的 bean。 它是`` XML 标签的直接模拟。 `@Bean`支持``提供的大多数属性,例如:`init-method`,`destroy-method`,`autowiring`,`lazy-init`,`dependency-check`,`depends-on`,`scope`。 +`@Bean`注解指示带注释的方法产生要由 Spring 容器管理的 bean。 它是`` XML 标签的直接模拟。 `@Bean`支持``提供的大多数属性,例如:`init-method`,`destroy-method`,`autowiring`,`lazy-init`,`dependency-check`,`depends-on`,`scope`。 ## Spring `@Bean`示例 @@ -157,7 +157,7 @@ public class HelloMessage { ``` -`HelloMessage` bean 是使用`@Bean`注释方法创建的。 +`HelloMessage` bean 是使用`@Bean`注解方法创建的。 `com/zetcode/config/AppCofig.java` @@ -218,7 +218,7 @@ public HelloMessage helloMessageProducer() { ``` -`helloMessageProducer()`产生一个新的`HelloMessage` bean。 它从外部属性获取消息。 `@Bean`注释使`HelloMessage` bean 由 Spring 生产和管理。 另外,我们给 Bean 两个别名。 +`helloMessageProducer()`产生一个新的`HelloMessage` bean。 它从外部属性获取消息。 `@Bean`注解使`HelloMessage` bean 由 Spring 生产和管理。 另外,我们给 Bean 两个别名。 `com/zetcode/Application.java` @@ -255,7 +255,7 @@ public class Application { ``` -该应用带有`@ComponentScan`注释。 `basePackages`选项告诉 Spring 在`com/zetcode`包及其子包中查找组件。 +该应用带有`@ComponentScan`注解。 `basePackages`选项告诉 Spring 在`com/zetcode`包及其子包中查找组件。 ```java var ctx = new AnnotationConfigApplicationContext(Application.class); @@ -293,6 +293,6 @@ $ mvn -q exec:java 我们运行该应用。 -在本教程中,我们使用了`@Bean`注释来生成托管的 Spring bean。 +在本教程中,我们使用了`@Bean`注解来生成托管的 Spring bean。 您可能也会对这些相关教程感兴趣: [Spring 单例范围 bean](/spring/singletonscope/) , [Spring `@ComponentScan`教程](/spring/componentscan/), [Spring `@Autowired`教程](/spring/autowired/), [Java 教程](/lang/java/),或列出[所有 Spring 教程](/all/#spring)。 \ No newline at end of file diff --git a/docs/spring/21.md b/docs/spring/21.md index 29fbd09..afde5c9 100644 --- a/docs/spring/21.md +++ b/docs/spring/21.md @@ -1,4 +1,4 @@ -# Spring `@PropertySource`注释教程 +# Spring `@PropertySource`注解教程 > 原文: [http://zetcode.com/spring/propertysource/](http://zetcode.com/spring/propertysource/) @@ -257,6 +257,6 @@ $ mvn -q exec:java 我们运行该应用。 -在本教程中,我们展示了如何使用`@PropertySource`注释在 Spring 应用中方便地使用属性。 +在本教程中,我们展示了如何使用`@PropertySource`注解在 Spring 应用中方便地使用属性。 -您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注释教程](/spring/qualifier/), [Spring `@Configuration`注释教程](/spring/configuration/), [Spring `context:property-placeholder`教程](/spring/propertyplaceholder/),Java 教程,或列出[所有 Spring 教程](/all/#spring)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注解教程](/spring/qualifier/), [Spring `@Configuration`注解教程](/spring/configuration/), [Spring `context:property-placeholder`教程](/spring/propertyplaceholder/),Java 教程,或列出[所有 Spring 教程](/all/#spring)。 \ No newline at end of file diff --git a/docs/spring/22.md b/docs/spring/22.md index d42b417..f734901 100644 --- a/docs/spring/22.md +++ b/docs/spring/22.md @@ -8,9 +8,9 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## Spring `@ComponentScan` -`@ComponentScan`注释启用 Spring 中的组件扫描。 Spring 会自动检测以`@Component`,`@Configuration`和`@Service`等构造型修饰的 Java 类。 使用`@ComponentScan`的`basePackages`属性指定应扫描哪些包装中的装饰豆。 +`@ComponentScan`注解启用 Spring 中的组件扫描。 Spring 会自动检测以`@Component`,`@Configuration`和`@Service`等构造型修饰的 Java 类。 使用`@ComponentScan`的`basePackages`属性指定应扫描哪些包装中的装饰豆。 -`@ComponentScan`注释是`` XML 标签的替代方法。 +`@ComponentScan`注解是`` XML 标签的替代方法。 ## Spring `@ComponentScan`示例 @@ -180,7 +180,7 @@ public class Application { ``` -该应用带有`@ComponentScan`注释。 `basePackages`选项告诉 Spring 在`com/zetcode`包及其子包中查找组件。 +该应用带有`@ComponentScan`注解。 `basePackages`选项告诉 Spring 在`com/zetcode`包及其子包中查找组件。 ```java var ctx = new AnnotationConfigApplicationContext(Application.class); @@ -207,4 +207,4 @@ $ mvn -q exec:java 在本教程中,我们使用`@ComponentScan`启用了组件扫描。 -您可能也对这些相关教程感兴趣: [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring `AnnotationConfigApplicationContext`](/spring/annotationconfigapplicationcontext/) , [Spring 单例范围 bean](/spring/singletonscope/) , [Spring `@Bean`注释教程](/spring/bean/), [Spring `@Configuration`注释教程](/spring/configuration/), [Spring 注入列表 XML 教程](/spring/injectlistxml/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring `AnnotationConfigApplicationContext`](/spring/annotationconfigapplicationcontext/) , [Spring 单例范围 bean](/spring/singletonscope/) , [Spring `@Bean`注解教程](/spring/bean/), [Spring `@Configuration`注解教程](/spring/configuration/), [Spring 注入列表 XML 教程](/spring/injectlistxml/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file diff --git a/docs/spring/23.md b/docs/spring/23.md index 37873d8..6372c29 100644 --- a/docs/spring/23.md +++ b/docs/spring/23.md @@ -2,13 +2,13 @@ > 原文: [http://zetcode.com/spring/configuration/](http://zetcode.com/spring/configuration/) -Spring `@Configuration`注释教程展示了如何使用`@Configuration`注释配置 Spring 应用。 +Spring `@Configuration`注解教程展示了如何使用`@Configuration`注解配置 Spring 应用。 Spring 是用于创建企业应用的流行 Java 应用框架。 ## Spring `@Configuration` -`@Configuration`注释用于基于 Spring 注释的配置。 `@Configuration`是标记注释,指示类声明了一个或多个`@Bean`方法,并且可以由 Spring 容器处理以在运行时为这些 bean 生成 bean 定义和服务请求 +`@Configuration`注解用于基于 Spring 注释的配置。 `@Configuration`是标记注释,指示类声明了一个或多个`@Bean`方法,并且可以由 Spring 容器处理以在运行时为这些 bean 生成 bean 定义和服务请求 ## Spring `@Configuration`示例 @@ -158,7 +158,7 @@ public class AppConfig { ``` -`AppConfig`是应用配置类。 它装饰有`@Configuration`注释,这是`@Component`的一种特殊形式。 +`AppConfig`是应用配置类。 它装饰有`@Configuration`注解,这是`@Component`的一种特殊形式。 ```java @Configuration diff --git a/docs/spring/24.md b/docs/spring/24.md index ac70c60..14cb39d 100644 --- a/docs/spring/24.md +++ b/docs/spring/24.md @@ -219,4 +219,4 @@ $ mvn -q exec:java 在本教程中,我们展示了如何在 C-命名空间中使用基于构造函数的注入。 -您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注释教程](/spring/qualifier/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring P-命名空间教程](/spring/pnamespace/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注解教程](/spring/qualifier/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring P-命名空间教程](/spring/pnamespace/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file diff --git a/docs/spring/25.md b/docs/spring/25.md index 9b170ab..8c9f54a 100644 --- a/docs/spring/25.md +++ b/docs/spring/25.md @@ -211,4 +211,4 @@ $ mvn -q exec:java 在本教程中,我们展示了如何在 P 名称空间中使用基于属性的注入。 -您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注释教程](/spring/qualifier/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring C-命名空间教程](/spring/cnamespace/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注解教程](/spring/qualifier/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring C-命名空间教程](/spring/cnamespace/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file diff --git a/docs/spring/26.md b/docs/spring/26.md index 8965771..38f1639 100644 --- a/docs/spring/26.md +++ b/docs/spring/26.md @@ -247,4 +247,4 @@ $ mvn -q exec:java 在本教程中,我们展示了如何使用 Spring 的 XML `ref`属性引用其他 bean。 -您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注释教程](/spring/qualifier/), [Spring `context:property-placeholder`教程](/spring/propertyplaceholder/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring 注入列表 XML 教程](/spring/injectlistxml/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `@Qualifier`注解教程](/spring/qualifier/), [Spring `context:property-placeholder`教程](/spring/propertyplaceholder/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring 注入列表 XML 教程](/spring/injectlistxml/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file diff --git a/docs/spring/27.md b/docs/spring/27.md index 3d7caa9..9bf8cda 100644 --- a/docs/spring/27.md +++ b/docs/spring/27.md @@ -1,14 +1,14 @@ -# Spring `@Qualifier`注释教程 +# Spring `@Qualifier`注解教程 > 原文: [http://zetcode.com/spring/qualifier/](http://zetcode.com/spring/qualifier/) -Spring `@Qualifier`注释教程显示了如何使用`@Qualifier`来区分 Spring 应用中的 bean。 +Spring `@Qualifier`注解教程显示了如何使用`@Qualifier`来区分 Spring 应用中的 bean。 Spring 是用于创建企业应用的流行 Java 应用框架。 ## Spring `@Qualifier`注解 -如果 Spring 不能这样做,则`@Qualifier`注释有助于消除 Bean 引用的歧义。 +如果 Spring 不能这样做,则`@Qualifier`注解有助于消除 Bean 引用的歧义。 ## Spring `@Qualifier`示例 diff --git a/docs/spring/3.md b/docs/spring/3.md index b22de25..f1d8158 100644 --- a/docs/spring/3.md +++ b/docs/spring/3.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## Spring `@Autowired` -`@Autowired`注解标记将由 Spring 的依赖项注入工具自动装配的构造函数,字段,设置器方法或配置方法。 它是 JSR-330 `@Inject`注释的替代方法。 +`@Autowired`注解标记将由 Spring 的依赖项注入工具自动装配的构造函数,字段,设置器方法或配置方法。 它是 JSR-330 `@Inject`注解的替代方法。 ## Spring `@Autowired`示例 @@ -226,4 +226,4 @@ $ mvn -q exec:java 在本教程中,我们使用`@Autowired`在 Spring 中注入了依赖项。 -您可能也对这些相关教程感兴趣: [Spring `@Bean`注释教程](/spring/bean/), [Spring `@ComponentScan`教程](/spring/componentscan/), [Java 教程](/lang/java/)或列出[所有 Spring 教程](/all/#spring)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `@Bean`注解教程](/spring/bean/), [Spring `@ComponentScan`教程](/spring/componentscan/), [Java 教程](/lang/java/)或列出[所有 Spring 教程](/all/#spring)。 \ No newline at end of file diff --git a/docs/spring/31.md b/docs/spring/31.md index 2aee3f6..ed73f51 100644 --- a/docs/spring/31.md +++ b/docs/spring/31.md @@ -223,4 +223,4 @@ $ mvn -q -Dspring.profiles.active=dev exec:java 在本教程中,我们为 Spring 应用创建了开发和生产数据。 -您可能也对这些相关教程感兴趣: [Spring `@Bean`注释教程](/spring/bean/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring `@ComponentScan`教程](/spring/componentscan/), [Spring 注入列表 XML 教程](/spring/injectlistxml/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file +您可能也对这些相关教程感兴趣: [Spring `@Bean`注解教程](/spring/bean/), [Spring 单例范围 bean](/spring/singletonscope/) , [Spring `@ComponentScan`教程](/spring/componentscan/), [Spring 注入列表 XML 教程](/spring/injectlistxml/), [Spring `BeanDefinitionBuilder`教程](/spring/beandefinitionbuilder/), [Spring HikariCP 教程](/articles/springhikaricp/)和 [Java 教程](/lang/java/)。 \ No newline at end of file diff --git a/docs/spring/34.md b/docs/spring/34.md index 3b8ce94..26d4381 100644 --- a/docs/spring/34.md +++ b/docs/spring/34.md @@ -199,7 +199,7 @@ public class Message { ``` -`Message` bean 用`@Component`注释修饰。 此类由 Spring 自动检测。 +`Message` bean 用`@Component`注解修饰。 此类由 Spring 自动检测。 `Application.java` diff --git a/docs/spring/38.md b/docs/spring/38.md index 26ddc87..a90dfab 100644 --- a/docs/spring/38.md +++ b/docs/spring/38.md @@ -172,7 +172,7 @@ src ``` -这告诉 Spring 在哪里寻找带有`@Controller`,`@Repository`,`@Service`,`@Component`注解的类并进行注册。 在我们的例子中,我们有一个带有`@Controller`注释的控制器。 +这告诉 Spring 在哪里寻找带有`@Controller`,`@Repository`,`@Service`,`@Component`注解的类并进行注册。 在我们的例子中,我们有一个带有`@Controller`注解的控制器。 ```java @@ -604,7 +604,7 @@ public class MyController { ``` -这是 Spring Boot Web 应用的控制器类。 控制器以`@Controller`注释修饰。 控制器具有一个映射。 映射解析为`showMessage.html`模板,该模板位于`WEB-INF/templates`目录中。 +这是 Spring Boot Web 应用的控制器类。 控制器以`@Controller`注解修饰。 控制器具有一个映射。 映射解析为`showMessage.html`模板,该模板位于`WEB-INF/templates`目录中。 `Application.java` diff --git a/docs/spring/4.md b/docs/spring/4.md index 08a38f9..c2d82f2 100644 --- a/docs/spring/4.md +++ b/docs/spring/4.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## `@GetMapping` -`@GetMapping`注释将 HTTP GET 请求映射到特定的处理器方法。 它是一个组合的注释,用作`@RequestMapping(method = RequestMethod.GET)`的快捷方式。 +`@GetMapping`注解将 HTTP GET 请求映射到特定的处理器方法。 它是一个组合的注释,用作`@RequestMapping(method = RequestMethod.GET)`的快捷方式。 ## Spring `@GetMapping`示例 diff --git a/docs/spring/5.md b/docs/spring/5.md index 78ebd77..b53bad4 100644 --- a/docs/spring/5.md +++ b/docs/spring/5.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## `@PostMapping` -`@PostMapping`注释将 HTTP POST 请求映射到特定的处理器方法。 它是一个组合的注释,用作`@RequestMapping(method = RequestMethod.POST)`的快捷方式。 +`@PostMapping`注解将 HTTP POST 请求映射到特定的处理器方法。 它是一个组合的注释,用作`@RequestMapping(method = RequestMethod.POST)`的快捷方式。 ## Spring `@PostMapping`示例 diff --git a/docs/spring/51.md b/docs/spring/51.md index 366372c..734a0e1 100644 --- a/docs/spring/51.md +++ b/docs/spring/51.md @@ -319,7 +319,7 @@ public class HelloServiceTest { ``` -测试类用`@RunWith(SpringRunner.class)`注释。 `@ContextConfiguration`定义了类级别的元数据,用于确定如何加载和配置用于集成测试的应用上下文。 此外,我们还提供了`@TestPropertySource`自定义测试属性文件。 +测试类用`@RunWith(SpringRunner.class)`注解。 `@ContextConfiguration`定义了类级别的元数据,用于确定如何加载和配置用于集成测试的应用上下文。 此外,我们还提供了`@TestPropertySource`自定义测试属性文件。 ```java @Value("${app.message}") diff --git a/docs/spring/6.md b/docs/spring/6.md index 016dcfb..f3082ba 100644 --- a/docs/spring/6.md +++ b/docs/spring/6.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## `@DeleteMapping` -`@DeleteMapping`注释将 HTTP DELETE 请求映射到特定的处理器方法。 它是一个组合的注释,用作`@RequestMapping(method = RequestMethod.DELETE)`的快捷方式。 +`@DeleteMapping`注解将 HTTP DELETE 请求映射到特定的处理器方法。 它是一个组合的注释,用作`@RequestMapping(method = RequestMethod.DELETE)`的快捷方式。 ## Spring `@DeleteMapping`示例 @@ -252,7 +252,7 @@ public ResponseEntity> all() { ``` -用`@GetMapping`注释的方法返回所有帖子。 +用`@GetMapping`注解的方法返回所有帖子。 ```java @DeleteMapping(value = "/posts/{id}") @@ -269,7 +269,7 @@ public ResponseEntity deletePost(@PathVariable Long id) { ``` -`deletePost()`带有`@DeleteMapping`注释。 该方法的工作是尝试使用`IPostService`删除帖子。 根据结果​​返回适当的`ResponseEntity`。 +`deletePost()`带有`@DeleteMapping`注解。 该方法的工作是尝试使用`IPostService`删除帖子。 根据结果​​返回适当的`ResponseEntity`。 `com/zetcode/model/Post.java` diff --git a/docs/spring/7.md b/docs/spring/7.md index f215931..ada6642 100644 --- a/docs/spring/7.md +++ b/docs/spring/7.md @@ -2,7 +2,7 @@ > 原文: [http://zetcode.com/spring/requestmapping/](http://zetcode.com/spring/requestmapping/) -Spring `@RequestMapping`教程显示了如何在 Spring Web 应用中使用`@RequestMapping`注释。 注解用于将 Web 请求映射到请求处理类中的处理器方法上。 +Spring `@RequestMapping`教程显示了如何在 Spring Web 应用中使用`@RequestMapping`注解。 注解用于将 Web 请求映射到请求处理类中的处理器方法上。 Spring 是用于创建企业应用的流行 Java 应用框架。 @@ -369,7 +369,7 @@ public class TestController { ``` -我们也可以将`@RequestMapping`放在课堂上。 然后将路径与方法路径合并。 +我们也可以将`@RequestMapping`放在类上。 然后将路径与方法路径合并。 ```java @RequestMapping(value = "/info") @@ -450,6 +450,6 @@ This is some page 最后是蚂蚁风格的映射。 -在本教程中,我们使用`@RequestMapping`注释创建了各种路径。 +在本教程中,我们使用`@RequestMapping`注解创建了各种路径。 您可能也对这些相关教程感兴趣: [Spring WebJars 教程](/spring/webjars/), [Spring `@GetMapping`教程](/spring/getmapping/), [Spring `DefaultServlet`教程](/spring/defaultservlet/), [Spring Web 应用简介](/articles/springwebfirst/)和 [Java 教程](/lang/java/)。 \ No newline at end of file diff --git a/docs/spring/9.md b/docs/spring/9.md index 519faaf..54dd90f 100644 --- a/docs/spring/9.md +++ b/docs/spring/9.md @@ -8,7 +8,7 @@ Spring 是用于创建企业应用的流行 Java 应用框架。 ## Spring `@RequestBody` -`@RequestBody`注释将请求主体绑定到方法参数。 序列化/反序列化的过程由`HttpMessageConverter`执行。 另外,可以通过使用`@Valid`注释自变量来应用自动验证。 +`@RequestBody`注解将请求主体绑定到方法参数。 序列化/反序列化的过程由`HttpMessageConverter`执行。 另外,可以通过使用`@Valid`注解自变量来应用自动验证。 ## Spring `@RequestBody`示例 diff --git a/docs/spring/SUMMARY.md b/docs/spring/SUMMARY.md index a996992..19e29e2 100644 --- a/docs/spring/SUMMARY.md +++ b/docs/spring/SUMMARY.md @@ -1,4 +1,4 @@ -+ [Spring `@Bean`注释教程](2.md) ++ [Spring `@Bean`注解教程](2.md) + [Spring `@Autowired`教程](3.md) + [Spring `@GetMapping`教程](4.md) + [Spring `@PostMapping`教程](5.md) @@ -17,13 +17,13 @@ + [Spring `BeanFactoryPostProcessor`教程](18.md) + [Spring `BeanFactory`教程](19.md) + [Spring `context:property-placeholder`教程](20.md) -+ [Spring `@PropertySource`注释教程](21.md) ++ [Spring `@PropertySource`注解教程](21.md) + [Spring `@ComponentScan`教程](22.md) + [Spring `@Configuration`教程](23.md) + [Spring C 命名空间教程](24.md) + [Spring P 命名空间教程](25.md) + [Spring bean 参考教程](26.md) -+ [Spring `@Qualifier`注释教程](27.md) ++ [Spring `@Qualifier`注解教程](27.md) + [Spring `ClassPathResource`教程](28.md) + [Spring 原型作用域 bean](29.md) + [Spring Inject List XML 教程](30.md) diff --git a/docs/symfony/101.md b/docs/symfony/101.md index 4180661..1607501 100644 --- a/docs/symfony/101.md +++ b/docs/symfony/101.md @@ -186,7 +186,7 @@ class MessageController extends AbstractController ``` -`@Route`注释将`message`路径映射到`index()`方法。 `methods`参数定义请求类型。 +`@Route`注解将`message`路径映射到`index()`方法。 `methods`参数定义请求类型。 ```php public function index(Request $request) diff --git a/docs/symfony/102.md b/docs/symfony/102.md index b0d8334..43397ed 100644 --- a/docs/symfony/102.md +++ b/docs/symfony/102.md @@ -55,7 +55,7 @@ process-form: ``` -我们为应用定义了两条路由。 `index`路由显示带有表单的主页。 `process-form`处理提交的表单并检查 CSRF 令牌。 +我们为应用定义了两个路由。 `index`路由显示带有表单的主页。 `process-form`处理提交的表单并检查 CSRF 令牌。 `src/Controller/AppController.php` diff --git a/docs/symfony/87.md b/docs/symfony/87.md index 2942bf5..051072a 100644 --- a/docs/symfony/87.md +++ b/docs/symfony/87.md @@ -114,7 +114,7 @@ public function helloPlain() ``` -路由是从 URL 路径到控制器方法的映射。 `@Route`注释将`/plain` URL 路径映射到`helloPlain()`函数。 +路由是从 URL 路径到控制器方法的映射。 `@Route`注解将`/plain` URL 路径映射到`helloPlain()`函数。 ```php return new Response("Hello there", Response::HTTP_OK, diff --git a/docs/symfony/94.md b/docs/symfony/94.md index c73d4bc..d49072f 100644 --- a/docs/symfony/94.md +++ b/docs/symfony/94.md @@ -97,7 +97,7 @@ class MyController extends AbstractController ``` -`MyController`具有使用注释,XML,YAML 和 PHP 创建的四个路由。 每条路由均返回简单文本。 +`MyController`具有使用注释,XML,YAML 和 PHP 创建的四个路由。 每个路由均返回简单文本。 ```php /** @@ -111,7 +111,7 @@ public function about() ``` -About 路由与`@Route`注释映射。 +About 路由与`@Route`注解映射。 `config/routes.yaml` @@ -184,4 +184,4 @@ This is Contacts page 在本教程中,我们使用注释,XML,YAML 配置和 PHP 代码在 Symfony 中创建了路由。 -您可能也对以下相关教程感兴趣: [Symfony `@Route`注释教程](/symfony/routeannotation/), [Symfony 简介](/symfony/intro/), [Symfony 表单教程](/symfony/form/), [PHP 教程](/lang/php/)。 \ No newline at end of file +您可能也对以下相关教程感兴趣: [Symfony `@Route`注解教程](/symfony/routeannotation/), [Symfony 简介](/symfony/intro/), [Symfony 表单教程](/symfony/form/), [PHP 教程](/lang/php/)。 \ No newline at end of file diff --git a/docs/symfony/97.md b/docs/symfony/97.md index a745283..6d3878b 100644 --- a/docs/symfony/97.md +++ b/docs/symfony/97.md @@ -213,7 +213,7 @@ public function findAll() { ``` -我们使用 DBAL `QueryBuilder`从表中获取所有行。 Doctrine DBAL `QueryBuilder`提供了一个方便,流畅的界面来创建和运行数据库查询。 +我们使用 DBAL `QueryBuilder`从表中获取所有行。 Doctrine DBAL `QueryBuilder`提供了一个方便,流畅的接口来创建和运行数据库查询。 ```php $ php bin/console server:run -- GitLab