美文网首页
Spring Boot入门

Spring Boot入门

作者: Mas0n | 来源:发表于2019-05-15 23:14 被阅读0次

    Spring Boot 精要

    Spring Boot的四个核心:

    • 自动配置
    • 起步依赖
    • 命令行界面(可选特性)
    • Actuactor
    1. 自动配置

      使用JDBC访问关系型数据库

      @Bean
      public JdbcTemplate jdbcTemplate(DataSource dataSource) {
          return new JdbcTemplate(datasource);
      }
      

      这段Bean声明创建了一个JdbcTemplate的实例,注入了一个DataSource依赖。

      配置DataSource Bean(以H2数据库为例)

      @Bean
      public DataSource dataSource() {
          return new EmbededDataBuilder()
              .setType(EmbededDataBaseType.H2)
              .addScript('schema.sql', 'data.sql')
              .build();
      }
      

      这个Bean配置方法创建了一个嵌入式数据库,并指定在该数据库上执行两段SQL脚本。build() 方法返回了一个指向该数据库的引用。

      Spring Boot的自动配置远不止嵌入式数据库和JdbcTemplate, 还设计Java持久化(JPA)、 Thymeleaf模板、安全和Spring MVC。

    2. 起步依赖

      起步依赖其实就是特殊的Maven依赖或者Gradle依赖,利用了传递依赖解析,把常用库聚合到一起,组成了几个为特定功能而定制的依赖。

      向项目中添加Web起步依赖,实际上指定了应用程序所需的一些功能。如果应用程序需要用到JPA,那么久可以引入JPA起步依赖。如果需要安全功能,那么久可以加入security起步依赖。

    3. 命令行界面(CLI)

      Spring Boot CLI利用了起步依赖和自动配置,让你专注于代码本身。CLI能检测到你使用了哪些类,它知道要向ClassPath中添加哪些岂不依赖才能让它运转起来。

      CLI是Spring Boot的非必要组成部分,但是它大大地简化了开发。

    4. Acutactor
      其他三个部分旨在简化Spring开发,而Acutactor提供了在运行时检查应用程序内部情况的能力。
      它能窥探应用程序内部的细节:

      • Spring应用程序上下文里配置的Bean
      • Spring Boot自动配置做的决策
      • 应用程序取到的环境变量、系统属性、配置属性和命令行参数
      • 应用程序里线程的当前状态
      • 应用程序最近处理过的HTTP请求的追踪情况
      • 各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标。

    Spring Boot不是什么

    Spring Boot简化了开发,但是Spring Boot不是全能的。

    1. Spring Boot不是应用服务器

      Spring Boot在应用程序中嵌入了一个Servlet容器(Tomcat、Jetty或Undertow),以实现这一功能。

    2. Spring Boot没有实现JMS或JPA之类的企业级Java规范

      Spring Boot确实支持不少企业级Java规范,但是要在Spring里自动配置支持那些特性的Bean。

    3. Spring Boot没有引入任何形式的代码生成

      Spring Boot利用了Spring 4的条件化配置特性,以及Maven和Gradle提供的传递依赖解析,以实现Spring应用程序上下文里的自动配置。

    相关文章

      网友评论

          本文标题:Spring Boot入门

          本文链接:https://www.haomeiwen.com/subject/nhuvaqtx.html