Spring-Boot之基础 POM 文件和自动配置(maven)

来源:互联网 发布:windows xp是什么系统 编辑:程序博客网 时间:2024/06/06 09:21

一、基础pom文件

          1、简介

         

      1》上一节的代码清单 1 中给出的“org.springframework.boot:spring-boot-starter-web”是 Spring Boot 所提供的推荐的基础 POM 文件之一,用来 提供创建基于 Spring MVC 的 Web 应用所需的第三方库依赖。

      2》除了这个 POM 文件之外,Spring Boot 还提供了其他类似的 POM 文件。所有这些基础 POM 依赖都在“org.springframework.boot”组中。


      2、有关Spring-boot的配置


名称说明spring-boot-starter核心 POM,包含自动配置支持、日志库和对 YAML 配置文件的支持。spring-boot-starter-amqp通过 spring-rabbit 支持 AMQP。spring-boot-starter-aop包含 spring-aop 和 AspectJ 来支持面向切面编程(AOP)。spring-boot-starter-batch支持 Spring Batch,包含 HSQLDB。spring-boot-starter-data-jpa包含 spring-data-jpa、spring-orm 和 Hibernate 来支持 JPA。spring-boot-starter-data-mongodb包含 spring-data-mongodb 来支持 MongoDB。spring-boot-starter-data-rest通过 spring-data-rest-webmvc 支持以 REST 方式暴露 Spring Data 仓库。spring-boot-starter-jdbc支持使用 JDBC 访问数据库。spring-boot-starter-security包含 spring-security。spring-boot-starter-test包含常用的测试所需的依赖,如 JUnit、Hamcrest、Mockito 和 spring-test 等。spring-boot-starter-velocity支持使用 Velocity 作为模板引擎。spring-boot-starter-web支持 Web 应用开发,包含 Tomcat 和 spring-mvc。spring-boot-starter-websocket支持使用 Tomcat 开发 WebSocket 应用。spring-boot-starter-ws支持 Spring Web Services。spring-boot-starter-actuator添加适用于生产环境的功能,如性能指标和监测等功能。spring-boot-starter-remote-shell添加远程 SSH 支持。spring-boot-starter-jetty使用 Jetty 而不是默认的 Tomcat 作为应用服务器。spring-boot-starter-log4j添加 Log4j 的支持。spring-boot-starter-logging使用 Spring Boot 默认的日志框架 Logback。spring-boot-starter-tomcat使用 Spring Boot 默认的 Tomcat 作为应用服务器。

所有这些 POM 依赖的好处在于为开发 Spring 应用提供了一个良好的基础。Spring Boot 所选择的第三方库是经过考虑的,是比较适合产品开发的选择。但是 Spring Boot 也提供了不同的选项,比如日志框架可以用 Logback 或 Log4j,应用服务器可以用 Tomcat 或 Jetty。


二、自动配置

1> Spring Boot 对于开发人员最大的好处在于可以对 Spring 应用进行自动配置。
2> Spring Boot 会根据应用中声明的第三方依赖来自动配置 Spring 框架,而不需要进行显式的声明。
  ---------   比如当声明了对 HSQLDB 的依赖时,Spring Boot 会自动配置成使用 HSQLDB 进行数据库操作。

3> Spring Boot 推荐采用基于 Java 注解的配置方式,而不是传统的 XML。

只需要在主配置 Java 类上添加“@EnableAutoConfiguration”注解就可以启用自动配置。

1> Spring Boot 的自动配置功能是没有侵入性的,只是作为一种基本的默认实现。开发人员可以通过定义其他 bean 来替代自动配置所提供的功能。

2> 比如当应用中定义了自己的数据源 bean 时,自动配置所提供的 HSQLDB 就不会生效。这给予了开发人员很大的灵活性。既可以快速的创建一个可以立即运行的原型应用,又可以不断的修改和调整以适应应用开发在不同阶段的需要。


阅读全文
0 0