价格划算的东莞建网站公司桂林什么公司做网站推广好
news/
2025/9/22 17:28:24/
文章来源:
价格划算的东莞建网站公司,桂林什么公司做网站推广好,微信房地产网站建设,机械加工外协加工网深入理解 Spring Boot#xff1a;核心知识与约定大于配置原则
简单说一下为什么要有 Spring Boot#xff1f;
因为 Spring 的缺点。
虽然 Spring 的组件代码是轻量级的#xff0c;但它的配置却是重量级的(需要大量 XML 配置)
为了减少配置文件#xff0c;简化开发 Spri…深入理解 Spring Boot核心知识与约定大于配置原则
简单说一下为什么要有 Spring Boot
因为 Spring 的缺点。
虽然 Spring 的组件代码是轻量级的但它的配置却是重量级的(需要大量 XML 配置)
为了减少配置文件简化开发 Spring所以 Spring Boot 诞生了。
具体演变如下图所示 一般说 Spring 框架指的都是 Spring Framework 说下 Spring Boot 的主要优点
开发基于 Spring 的应用程序很容易。Spring Boot 项目所需的开发或工程时间明显减少通常会提高整体生产力。Spring Boot 不需要编写大量样板代码、XML 配置和注释。Spring 引导应用程序可以很容易地与 Spring 生态系统集成如 Spring JDBC、Spring ORM、Spring Data、Spring Security 等。Spring Boot 遵循“固执己见的默认配置”以减少开发工作 (默认配置可以修改)。Spring Boot 应用程序提供嵌入式 HTTP 服务器如 Tomcat 和Jetty可以轻松地开发和测试 web 应用程序。 (这点很赞!普通运行 Java 程序的方式就能运行基于Spring Boot web 项目省事很多)Spring Boot 提供命令行接口(CLI)工具用于开发和测试 Spring Boot 应用程序如 Java 或 Groovy。Spring Boot 提供了多种插件可以使用内置工具如 Maven 和 Gradle开发和测试 Spring Boot 应用程序。
什么是 Spring Boot Starters
Spring Boot Starters 是 Spring Boot 提供的一组依赖项用于快速启动常见的应用程序功能。
简单来说就是一系列依赖关系的集合。
例如如果想要快速启动一个 Spring Boot Web 应用程序只需在项目中引入 spring-boot-starter-web 这个依赖即可。
Spring Boot 支持哪些内嵌 Servlet 容器?
有三个
NameServlet VersionTomcat 9.0默认容器4.0Jetty 9.43.1Undertow 2.04.0
Spring boot常用注解有哪些
Spring Boot 中常用的注解有 SpringBootApplication该注解用于标注 Spring Boot 应用程序主类表示该类是一个 Spring Boot 应用程序的入口点可以看作是 Configuration、ComponentScan 和 EnableAutoConfiguration 注解的集合。 Controller该注解用于标注控制器类表示该类是 Spring MVC 控制器处理请求并返回响应。 RestController该注解是 Controller 注解的变体表示该类是 RESTful API 的控制器类处理请求并返回 JSON 格式的响应。 RequestMapping该注解用于将 URL 请求映射到处理器方法上可以通过 value 属性指定 URL 地址通过 method 属性指定请求方法还可以通过 params 属性和 headers 属性指定请求参数和请求头。 Autowired该注解用于自动装配 Spring 容器中的 Bean 对象可以用于字段、构造方法和 Set 方法上。 Component该注解用于标注一个类为 Spring BeanSpring 会自动扫描这个注解并将该类注册到 Spring 容器中。 Bean该注解用于标注一个方法表示该方法返回一个 Bean 对象该对象将被注册到 Spring 容器中。 Service该注解用于标注一个服务类表示该类提供业务逻辑服务通常与 Component 注解一起使用。 Repository该注解用于标注 DAO 类表示该类提供对数据库的访问操作通常与 Component 注解一起使用。 Value该注解用于注入配置文件中的属性值可以用于字段、构造方法和 Set 方法上。 Profile该注解用于指定 Bean 对象所属的环境可以根据不同的环境来创建不同的 Bean 对象。 Conditional该注解可以根据条件来决定是否创建 Bean 对象可以与 Profile 注解一起使用用于根据不同的环境来创建不同的 Bean 对象。 Configuration该注解用于标注配置类表示该类是 Spring 配置类可以包含 Bean 的定义和配置信息。 ComponentScan该注解用于指定要扫描的包或类以及要扫描的 Bean 的范围。 EnableAutoConfiguration该注解用于自动配置 Spring Boot 应用程序根据项目中添加的依赖项自动配置 Spring 应用程序使得开发者不需要手动配置 Spring 应用程序。 当在 Spring Boot 应用程序中使用 ComponentScan 注解时Spring Boot 将自动扫描注解类所在的包以及其子包下的所有类将带有 Component、Service、Controller、Repository 等注解的类注册为 Bean这样这些 Bean 就可以被注入到其他类中使用了。 Spring 是如何启动的
以下是一个启动类代码
SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}启动大概有 9 个步骤 创建监听并准备监听。 容器环境预配置。 打印 banner。 创建 Spring 容器IoC。 容器刷新前置处理。 容器刷新。 容器刷新后置处理。 发出容器刷新结束通知。 调用 runner 执行启动后的相关程序。
具体解析
创建监听并准备监听实际上做的就是从 META-INF/spring.factories 中获取关于监听器的类然后返回一个监听器列表打印 banner就是在控制台输出一个 logo容器操作也就是实现 IoC 的步骤了
Spring Boot 的自动配置是如何实现的?
总的来说Spring Boot 的自动配置是通过条件注解机制和优先级机制来实现的.
主要包括以下几个步骤 Spring Boot 在启动时会扫描 classpath 下的 META-INF/spring.factories 文件该文件中包含了所有自动配置类的全限定名。 根据条件注解的条件Spring Boot 会自动判断哪些自动配置类需要生效。 条件注解包括 ConditionalOnClass、ConditionalOnMissingClass、ConditionalOnBean、ConditionalOnMissingBean、ConditionalOnProperty、ConditionalOnResource、ConditionalOnWebApplication 等。 如果某个自动配置类需要生效Spring Boot 会自动将该类的配置信息添加到 Spring 上下文中这样就可以在应用程序中使用了。 如果多个自动配置类之间存在冲突Spring Boot 会根据优先级来决定哪个自动配置类生效。可以通过修改配置文件中的属性值来调整自动配置类的优先级。
SpringBoot 归约大于配置
在 SpringBoot 中约定大于配置的原则是指开发人员仅需规定应用中不符合约定的部分而在没有规定配置的地方采用默认配置以力求最简配置为核心思想。总的来说上面两条都遵循了推荐默认配置的思想。当存在特殊需求的时候自定义配置即可。这样可以大大的减少配置工作这就是所谓的 “约定” 。
启动类
启动类只能扫描到【当前包及其子包】下的类。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909809.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!