SpringBoot

SpringBoot

JAVAEE应用体系中繁重的配置、低下的开发效率、高难度的三方集成,复杂的部署流程等等一直被开发人员所诟病。即使是使用Spring这样的轻量级的资源整合框架,在实现其相对比较多的资源整合时,依旧需要大量的手动依赖管理,复杂的XML配置(还经常没有提示)。还有就是现在的软件生态应用也已经形成一定的规模,系统架构正在从单体架构,分布式架构,跨越到微服务架构。随着整个架构体系的变化,企业对技术的要求也在变化,现在的企业更注重技术的开箱即用,更注重技术在生态圈中的深度融合,更注重轻量级的运维。由此由此spring boot诞生。Spring Boot是由Pivotal团队提供的全新的Java软件开发框架(很多人现在把它理解为一个脚手架),其设计目的是用来简化Spring项目的初始搭建以及开发过程。该框架使用了特定的注解方式来进行配置,从而使开发人员不再需要大量的xml配置。不再需要大量的手动依赖管理。Spring Boot基于快速构建理念,通过约定大于配置,开箱即用的方式,以提高开发效率。。
  • Spring Boot 有哪些核心的关键特性:
  1. 起步依赖(Starter Dependency)。
  2. 自动配置(Auto Configuration)。
  3. 健康检查(Actator)-监控。
  4. 嵌入式服务(Tomcat,Jetty)。
  • Spring Boot 优点:
  1. 减少开发,测试时间和努力。
  2. 使用 JavaConfig 有助于避免使用 XML。
  3. 避免大量的 Maven 导入和各种版本冲突。
  4. 提供意见发展方法。
  5. 通过提供默认值快速开始开发。
  6. 没有单独的 web 服务器需要。这意味着你不在需要启动 Tomcat,Glassfish 或其他任何东西。
  7. 需要更少的配置,因为没有 web.xml 文件。只需要添加@Configuration 注释的类,然后添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。您甚至可以将@Autowired 添加到 bean 方法中,以使 spring 自动装入需要的依赖关系中。
  8. 基于环境的配置使用这些属性,您可以将您正在使用的环境传递到应用程序:
  9. -Dspring.profiles.active ={enviornment}。在加载主应用程序属性文件后,Spring 将在(application{environment} .properties)中加载后续的应用程序属性文件。

SpringBoot工程下HikariCP整合测试 --数据库连接池

SpringBoot工程启动时其简易初始化过程,如图所示:
SpringBoot_第1张图片
在启动过程中底层做了哪些事情,大致描述如下:
1)基于配置加载类(通过ClassLoader将指定位置的类读到内存->底层通过线程调用IO从磁盘读取到内存)。
2)对类进行分析(创建字节码对象-Class类型,通过反射获取器配置信息)。
3)对于指定配置(例如由spring特定注解描述)的对象存储其配置信息(借助BeanDefinition对象存储)。
4)基于BeanDefinition对象中class的配置构建类的实例(Bean对象),从进行bean对象的管理。

你可能感兴趣的