当前位置: 首页 > news >正文

做购物网站哪家公司好企业网站报价模板

做购物网站哪家公司好,企业网站报价模板,网页设计提升班,优猫券网站怎么做目录 因何而生的SpringBoot 单体架构的捉襟见肘 SpringBoot的优点 快速入门 高曝光率的Annotation SpringBoot的工作机制 了解SpringBootApplication SpringBootConfiguration EnableAutoConfiguration 自动配置的幕后英雄#xff1a;SpringFactoriesLoader Compon…目录 因何而生的SpringBoot 单体架构的捉襟见肘 SpringBoot的优点 快速入门 高曝光率的Annotation SpringBoot的工作机制 了解SpringBootApplication SpringBootConfiguration EnableAutoConfiguration 自动配置的幕后英雄SpringFactoriesLoader ComponentScan SpringApplication执行流程 SpringApplicationRunListener ApplicationContextInitializer ApplicationListener CommandLineRunner 因何而生的SpringBoot 单体架构的捉襟见肘 微服务架构和Spring Boot框架的出现是为了解决传统单体应用程序在开发、部署和维护方面遇到的一系列问题包括 复杂性管理 传统的单体应用程序通常变得非常庞大和复杂开发和维护成本逐渐增加。微服务架构将应用程序拆分成小的、独立的服务每个服务负责特定的业务功能。这简化了应用的开发、测试和维护。 技术多样性 单体应用程序通常使用单一的技术栈而微服务允许每个服务选择适合其需求的技术栈。这使得开发者可以更好地选择适合任务的工具和技术。 快速交付 微服务允许不同的团队独立开发、测试和部署服务从而提高了交付速度。这有助于敏捷开发和持续交付。 可伸缩性 微服务使得应用程序的各个部分可以根据需求独立地扩展而不是整个应用程序。这提高了应用程序的可伸缩性能够应对高流量和负载。 容错性 微服务的分布性使得应用程序更容易实现容错和恢复能力。当某个服务失败时不会影响整个应用程序。 部署灵活性 微服务可以独立部署这意味着你可以频繁地更新和部署单个服务而不必影响整个应用程序。 Spring Boot的出现与微服务架构有关它是Spring Framework的一部分旨在简化开发独立的、可执行的Java应用程序。Spring Boot解决了传统Java应用程序开发中的繁琐配置问题使开发人员能够更快速地构建微服务和独立应用程序。 SpringBoot的优点 Spring Boot是一个用于构建生产级Spring应用程序的框架它具有许多优点使得它成为Java应用程序开发的首选框架之一 简化开发 Spring Boot通过自动配置和约定大于配置的原则简化了应用程序的开发和配置。开发者可以快速启动项目减少了大量的样板代码编写。 内嵌容器 Spring Boot支持内嵌的Web容器如Tomcat、Jetty、Undertow这意味着你无需手动部署WAR文件到独立的Servlet容器中而是将应用程序打包成一个可执行的JAR文件直接运行。 自动配置 Spring Boot根据你的项目的依赖和设置自动配置应用程序的各个组件包括数据源、Spring MVC、安全等。这减少了繁琐的配置工作。 开发工具 Spring Boot提供了许多开发者友好的工具如Spring Boot DevTools它可以自动重启应用程序、热部署等大大提高了开发效率。 生产就绪 Spring Boot提供了一组用于监控、度量、健康检查、日志记录和安全的功能使应用程序更容易部署和运行在生产环境中。 微服务支持 Spring Boot与Spring Cloud集成良好支持构建微服务架构。它提供了RESTful服务的构建和调用、服务注册与发现、负载均衡等功能。 生态系统 Spring Boot建立在Spring框架的基础上继承了Spring的强大生态系统包括Spring Security、Spring Data、Spring Integration等。你可以轻松整合这些组件。 广泛的第三方库支持 Spring Boot支持许多第三方库和插件包括Thymeleaf、Freemarker、Swagger、Spring Boot Actuator等帮助你快速构建各种类型的应用。 可扩展性 Spring Boot是高度可定制和可扩展的允许你根据项目需求进行自定义配置和功能扩展。 大量文档和社区支持 Spring Boot拥有丰富的官方文档和庞大的开发者社区可以轻松找到答案和解决问题。 快速入门 如果要快速入门这个传送门一定很有帮助-------Spring | Quickstart 高曝光率的Annotation Configuration 用于标识一个类作为配置类。配置类通常用于定义 Spring 容器的配置信息包括 bean 的定义、依赖注入、AOP 配置等。使用 Configuration 注解的类可以替代传统的 XML 配置文件使配置更加可维护和类型安全。 ComponentScan 对应XML配置形式中的context:component-scan元素用于配合一些元信息Java Annotation比如Component和Repository等将标注了这些元信息Annotation的bean定义类批量采集到Spring的IoC容器中。 不指定basePackages属性的时候默认从声明ComponentScan所在类的package扫描。 PropertySource和PropertySources PropertySource用于从某些地方加载*.properties文件内容。PropertySources用于java8以下版本 Configuration PropertySource{*classpath:1.properties} PropertySource{*classpath:2.properties} public class XConfiguration {... } 属性的覆盖和优先级取决于加载的顺序通常有以下规则 属性值加载的顺序 默认属性值Spring 提供了一些默认属性如 spring.datasource.url这些属性在 Spring 启动时被加载。 属性文件使用 PropertySource 注解加载的属性文件。 XML 配置文件通过 XML 配置文件如 applicationContext.xml中的 context:property-placeholder 来加载属性文件。 命令行参数和环境变量命令行参数和环境变量可以覆盖已加载的属性值。 Java 系统属性使用 System.setProperty() 来设置属性。 属性的优先级 当多个属性源中存在相同的属性时后加载的属性会覆盖先加载的属性。 属性的优先级从高到低为命令行参数和环境变量 XML 配置文件 属性文件 默认属性值。 Import与ImportResource Import Import 注解用于导入其他配置类Configuration 注解标记的类。 可以在一个配置类中使用 Import 注解导入多个其他配置类以将它们组合在一起。 Configuration Import({AppConfig1.class, AppConfig2.class}) public class MainConfig {// ... } ImportResource ImportResource 注解用于导入 XML 配置文件通常是传统的 Spring XML 配置文件。 通过 ImportResource 注解可以将一个或多个 XML 配置文件导入到 Spring 的注解配置中。 Configuration ImportResource(classpath:applicationContext.xml) public class MainConfig {// ... } SpringBoot的工作机制 SoringBoot是Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物。 了解SpringBootApplication 从SpringBoot的quickStart教程中看到SpringBoot启动类就只有以下几行 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; ​ SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} } 而其中的SpringBootApplication和SpringApplication.run()两位就是重点关注对象了。 SpringBootApplication实际上是一个符合Annotation主要是下面这三位 SpringBootConfiguration EnableAutoConfiguration ComponentScan 而为了图方便就把这3个Annotation合成了一个SpringBootApplication。 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Inherited SpringBootConfiguration EnableAutoConfiguration ComponentScan(excludeFilters {Filter(type FilterType.CUSTOM,classes {TypeExcludeFilter.class} ), Filter(type FilterType.CUSTOM,classes {AutoConfigurationExcludeFilter.class} )} ) public interface SpringBootApplication {... } SpringBootConfiguration 启动类标注了Configuration注解本质上就是一个IoC容器的配置类。 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Configuration Indexed public interface SpringBootConfiguration {... } EnableAutoConfiguration 按照Spring的套路EnableXXXXX的Annotation都是借助Import的支持干大事EnableAutoConfiguration干的就是借助Import将所有符合自动配置条件的bean定义加载到IoC容器。 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Inherited AutoConfigurationPackage Import({AutoConfigurationImportSelector.class}) public interface EnableAutoConfiguration {... } 其中最关键的就是Import({AutoConfigurationImportSelector.class})借助AutoConfigurationImportSelectorEnableAutoConfiguration可以将所有符合条件的Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。而在Spring框架中SpringFactoriesLoader的支持下EnableAutoConfiguration可以“智能”地自动配置。 自动配置的幕后英雄SpringFactoriesLoader SpringFactoriesLoader 是 Spring Framework 中的一个工具类它用于加载和管理以工厂方式提供的实现。它的主要作用是在 Spring 扩展机制、自动配置以及服务发现等场景中方便地加载和实例化实现类。通常它是通过读取 META-INF/spring.factories 文件来完成这些任务的。 spring.factories是典型的java properties文件配置的格式为keyvalue注意key和value都是Java类型的完整类型比如 org.springframework.context.ApplicationContextInitializer\ com.elaine.config.MyApplicationContextInitializer 这样一来EnableAutoConfiguration自动配置的就变成了 从classpath中搜寻所有的META-INF/spring.factories配置文件并将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的配置项通过反射实例化为对应的标注了Configuration形式的IoC容器配置类然后汇总为一个并加载到IoC容器。 ComponentScan ComponentScan的功能是自动扫描并加载符合条件的组件或bean定义最终将这些bean定义加载到容器中。如果当前SpringBoot不需要加载bean定义的化也可以不要ComponentScan。 SpringApplication执行流程 在使用SpringApplication的静态run方法之前我们需要创建一个SpringApplication对象。在SpringApplication实例初始化的时候它会提前做好几件事 根据classpath里面是否存在特征类(org.springframework.web.context.ConfigurableWebApplicationContext)决定是创建一个Web应用使用的ApplicationContext类型还是创建一个标准的Standalone应用使用的ApplicationContext类型。 使用SpringFactoriesLoader在classpath中查找并加载所有可用的ApplicationContextInitializer。 使用SpringFactoriesLoader在classpath中查找并加载所有可用的ApplicationListener。 推断并设置main方法的定义类。 实例初始化完成且设置完成执行run方法遍历执行所有通过SpringFactoriesLoader可以找到并加载的SpringApplicationRunListener调用它们的started()方法。 创建并配置SpringBoot应用将要使用的Environment(包括配置要是用的PropertySource和Profile)。 遍历所用的SpringApplicationRunListener的environmentPrepared()。 SpringApplication打印banner(如果showBanner属性被设置为true)。 根据用户的个性化设置决定是否需要使用自定义的配置最重要的将之前准备好的environment配置给ApplicationContext使用。 ApplicationContext创建完成SpringApplication再次使用SpringFactoriesLoader查找加载所用可用的ApplicationContextInitializer遍历调用它们的initialize(applicationContext)方法对已经创建好的ApplicationContext进一步处理。 遍历所用的SpringApplicationRunListener的contextPrepared()方法。 最核心的一步将EnableAutoConfiguration获取的所用配置和其他形式的IoC配置加载到已经准备完毕的ApplicationContext。 遍历所用的SpringApplicationRunListener的contextLoaded()方法。 调用ApplicationContext的refresh()方法。 查找ApplicationContext中是否注册有CommandLineRunner有则遍历执行它们。 遍历执行SpringApplicationRunListener的finished()方法。 整个过程中充斥着各种扩展点进行推进工作我们有必要进一步分析下。 SpringApplicationRunListener SpringApplicationRunListener是整个启动流程中接收不同执行点事件通知的监听者 public interface SpringApplicationRunListener {//刚执行run方法时void started();//环境建立好时候void environmentPrepared(ConfigurableEnvironment environment);//上下文建立好的时候void contextPrepared(ConfigurableApplicationContext context);//上下文载入配置时候void contextLoaded(ConfigurableApplicationContext context);//上下文刷新完成后run方法执行完之前void finished(ConfigurableApplicationContext context, Throwable exception); } ApplicationContextInitializer SpringApplication 提供了 addInitializers 方法可以用于注册一个或多个 ApplicationContextInitializer 的实现类。 ApplicationContextInitializer 在 Spring Boot 启动过程中最早执行它可以在应用程序上下文初始化前对应用程序的配置进行修改。 ApplicationListener ApplicationListener 是 Spring Framework 的标准接口用于监听应用程序事件。Spring Boot 通过该接口支持了各种应用程序生命周期事件。 ApplicationListener 在应用程序启动过程中可以监听各种事件例如上下文刷新事件、应用程序已启动事件等根据事件类型的不同监听器会在不同的阶段执行。 CommandLineRunner CommandLineRunner 是 Spring Boot 的一个接口它定义了一个 run 方法该方法在 Spring Boot 应用程序启动后执行。 CommandLineRunner 在应用程序启动完成后执行通常用于执行应用程序启动后的一些初始化操作如加载数据或执行特定任务。
http://www.hkea.cn/news/14343169/

相关文章:

  • 织梦电影网站模板推广方案
  • 如何做 网站的seo上海设计公司官网
  • 如何做网站开发手机网站后台
  • 泉州手机网站建设seo关键词快速排名
  • 长春建设局网站做一个像qq空间的网站
  • 网站建设广告费 科目电子商务网站设计原理名词解释
  • 优质的低价网站建设唐山网站制作企业
  • 无棣做网站导购网站免费推广
  • 网站建设的结论设计制作中国第一架飞机
  • 标题正文型网站百度指数搜索榜度指数
  • 网站集群建设seo关键词优化教程
  • 新区网站建设seo公司排名教程
  • 中国建设购物网站辽宁建设工程信息网报名步骤
  • 音乐门户网站模板郑州做茶叶的网站
  • 做问卷调查的网站有哪些内容照片做视频的网站
  • 抢购网站建设各大搜索引擎网址
  • 三层架构做网站还是系统室内设计优秀案例网站
  • 天猫入驻如何优化搜索引擎的搜索功能
  • 东营建设信息网站电话东西湖区建设局网站
  • django网站开发网站设计ps做效果图过程
  • 镇江市城市建设档案馆网站广州工商注册流程
  • 什么网站可以做设计赚钱吗品牌建设的意义和重要性
  • 响应式网站设计教程模板网的图片侵权
  • 网站备案与不备案的区别建站软件免费试用
  • 有没有99块钱做网站常德政务网站
  • 商业网站建设费用个人域名注册入口
  • 北京市网站建设公司西安h5网站建设
  • 猎头网站模板大连天健网大连
  • 大型公司网络搭建实例西安seo服务公司
  • 建设旅游网站财务分析商业网站的建设流程