Spring Boot 基本注解教程展示了如何使用基本的 Spring Boot 注解,包括@ Bean,@ Service,@ Configuration,@ Controller,@ RequestMapping,@ Repository,@ Autowired 和@SpringBootApplication。
Spring 是用于创建企业应用的流行 Java 应用框架。 Spring Boot 是 Spring 框架发展的下一步。 它有助于以最小的努力创建独立的,基于生产级的 Spring 应用。 它不再使用 XML 配置,并实现了约定而非配置原则。
注解是元数据的一种形式,它提供有关程序的数据,该数据不是程序本身的一部分。 注解对它们注解的代码的操作没有直接影响。
Spring Boot 基本注解
在示例应用中,我们具有以下 Spring Boot 注解:
- @Bean-表示方法产生一个由 Spring 管理的 bean。
- @Service-表示带注解的类是服务类。
- @Repository-指示带注解的类是存储库,它是数据访问和存储的抽象。
- @Configuration-表示一个类是可能包含 bean 定义的配置类。
- @Controller-将类标记为 Web 控制器,能够处理请求。
- @RequestMapping-将 HTTP 请求及其路径映射到控制器方法。
- @Autowired-标记要通过 Spring 依赖注入自动装配的构造函数,字段或 setter 方法。
- @SpringBootApplication-启用 Spring Boot 自动配置和组件扫描。
@Component
是 Spring 托管组件的通用构造型。 在自动扫描时,它将类转换为 Spring bean。 当使用基于注解的配置和类路径扫描时,被此注解修饰的类被视为自动检测的候选对象。 @Repository
,@Service
和@Controller
是@Component
的特殊化,用于更特定的用例。
在示例中,还有 Hibernate @Entity
,@Table
,@Id
和@GeneratedValue
注解。
Spring Boot 基本注解示例
以下应用是一个 Spring Boot 应用,它使用 Spring Data JPA 从 H2 数据库返回数据。 该应用使用 FreeMarker 作为模板引擎。
这是项目结构。
pom.xml
这是 Maven 构建文件。 它包含 Freemaker,Spring Data JPA 和 H2 数据库的依赖项。 当 Spring Boot 在pom.xml
中找到 Freemaker 和 H2 时,它将自动配置它们。 我们可以立即使用它们。
resources/application.yml
在application.yml
文件中,我们编写了 Spring Boot 应用的各种配置设置。
com/zetcode/model/City.java
这是City
实体。 每个实体必须至少定义两个注解:@Entity
和@Id
。 @Entity
注解指定该类是一个实体,并映射到数据库表。 @Table
注解指定要用于映射的数据库表的名称。 @Id
注解指定了实体的主键,@GeneratedValue
为主键的值提供了生成策略的规范。
resources/import.sql
模式是由 Hibernate 自动创建的。 之后,将执行import.sql
文件以将数据填充到表中。
com/zetcode/repository/CityRepository.java
@Repository
注解用于定义存储库。
com/zetcode/service/ICityService.java
ICityService
提供了获取所有城市的合同方法。
com/zetcode/service/CityService.java
@Service
注解将CityService
声明为服务类; 提供业务服务的类。 @Autowired
注解标记要插入CityRepository
的cityRepository
字段。
com/zetcode/controller/MyController.java
@Controller
注解将一个类标记为 Web 控制器。 @RequestMapping
将 HTTP 请求及其路径映射到控制器方法。 在第二种情况下,它将/cities
URL 映射到showCities()
方法。
resources/templates/index.ftl
这是index.ftl
模板文件。 它包含用于创建显示所有城市的请求的链接。
resources/templates/showCities.ftl
这是showCities.ftl
模板文件。 它使用 FreeMarker #list
宏显示所有城市对象。
resources/static/css/style.css
这是style.css
模板文件。
com/zetcode/Application.java
@SpringBootApplication
启用自动配置和组件扫描。
我们运行该应用并定位到localhost:8080/myapp
地址。
在本教程中,我们介绍了一些基本的 Spring Boot 注解。