spring boot 中文教程——迹忆客-ag捕鱼王app官网
spring boot 是一个基于 java 的开源框架,用于创建微服务。 它由 pivotal team 开发。
使用 spring boot 可以轻松创建独立且可用于生产的 spring 应用程序。
spring boot 包含用于开发微服务的全面基础架构支持,使开发者能够开发可以“直接运行”的企业级应用程序。
什么是微服务?
微服务是一种允许开发人员独立开发和部署服务的架构。 每个运行的服务都有自己的进程,这样就实现了轻量级模型来支持业务应用程序。
微服务的优势
微服务为其开发人员提供以下优势
- 易于部署
- 简单的可扩展性
- 与容器兼容
- 最低配置
- 生产时间更短
什么是 spring boot?
spring boot 为 java 开发人员提供了一个很好的平台,可以开发一个可以直接运行的独立和生产级的 spring 应用程序。 我们可以从最低配置开始,而不需要整个 spring 配置设置。
spring boot 的优势
spring boot 为其开发人员提供以下优势
- 易于理解和开发 spring 应用程序
- 提高生产力
- 减少开发时间
spring boot 目标
spring boot 的设计目标如下
- 在 spring 中避免复杂的 xml 配置
- 以更简单的方式开发生产就绪的 spring 应用程序
- 减少开发时间并独立运行应用程序
- 提供更简单的应用程序入门方式
为什么使用 spring boot?
我们可以选择 spring boot,因为它提供了下面列出的特性和好处
- 它提供了一种灵活的方式来配置 java bean、xml 配置和数据库事务。
- 它提供了强大的批处理和管理 rest 端点。
- 在 spring boot 中,一切都是自动配置的; 无需手动配置。
- 它提供了基于注解的spring应用
- 简化依赖管理
- 它包括嵌入式 servlet 容器
spring boot 工作原理
spring boot 使用 @enableautoconfiguration
注解根据我们添加到项目中的依赖项自动配置我们的应用程序。 例如,如果 mysql 数据库在你的 classpath 上,但你没有配置任何数据库连接,那么 spring boot 会自动配置一个内存数据库。
spring boot 应用的入口点是包含@springbootapplication
注解和 main
方法的类。
spring boot 通过使用 @componentscan
注解自动扫描项目中包含的所有组件。
spring boot 启动器
处理依赖管理对于大型项目来说是一项艰巨的任务。 spring boot 通过提供一组依赖项方便开发人员解决了这个问题。
例如,如果开发者想使用 spring 和 jpa 进行数据库访问,则在项目中包含 spring-boot-starter-data-jpa
依赖项就足够了。
请注意,所有 spring boot 启动器都遵循相同的命名模式 spring-boot-starter-*
,其中 *
表示它是应用程序的一种类型。
示例
查看下面对spring boot 启动器的解释来更好地理解
spring boot starter actuator 依赖项用于监视和管理我们的应用程序。 它的代码如下所示
org.springframework.boot
spring-boot-starter-actuator
spring boot starter security 依赖项用于 spring security。 其代码如下所示
org.springframework.boot
spring-boot-starter-security
spring boot starter web 依赖项用于编写 rest endpoints。 其代码如下所示
org.springframework.boot
spring-boot-starter-web
spring boot starter thyme leaf 依赖项用于创建 web 应用程序。 其代码如下所示
org.springframework.boot
spring-boot-starter-thymeleaf
spring boot starter test 依赖项用于编写测试用例。 其代码如下所示
org.springframework.boot
spring-boot-starter-test
自动配置 auto configuration
spring boot auto configuration 根据我们在项目中添加的 jar 依赖项自动配置 spring 应用程序。 例如,如果 mysql 数据库在你的 classpath 上,但你没有配置任何数据库连接,那么 spring boot 会自动配置一个内存数据库。
为此,开发者需要在主类文件中添加 @enableautoconfiguration
注解或@springbootapplication
注解。 然后, spring boot 应用程序将被自动配置。
通过以下代码以获得更好的理解
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.enableautoconfiguration;
@enableautoconfiguration
public class demoapplication {
public static void main(string[] args) {
springapplication.run(demoapplication.class, args);
}
}
spring boot 应用程序
spring boot application 的入口点是包含@springbootapplication
注解的类。 这个类应该有运行 spring boot 应用程序的 main 方法。 @springbootapplication
注解包括自动配置、组件扫描和 spring boot 配置。
如果在类中添加了@springbootapplication
注解,则不需要添加@enableautoconfiguration
、@componentscan
和@springbootconfiguration
注解。 @springbootapplication 注解包括所有其他注解。
通过以下代码来更好地理解
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
@springbootapplication
public class demoapplication {
public static void main(string[] args) {
springapplication.run(demoapplication.class, args);
}
}
组件扫描
spring boot 应用程序在应用程序初始化时扫描所有 bean 和包声明。 开发者需要为自己的类文件添加 @componentscan
注释来扫描在项目中添加的组件。
通过以下代码来更好地理解
import org.springframework.boot.springapplication;
import org.springframework.context.annotation.componentscan;
@componentscan
public class demoapplication {
public static void main(string[] args) {
springapplication.run(demoapplication.class, args);
}
}