Spring Boot 学习(一)入门+依赖

2018-08-28  本文已影响42人  onlyHalfSoul

一、 概述

springboot是现在主流的微服务架构,是分布式spring cloud的基础。网上说的最多的就是springboot是没有xml配置的,所以配置非常简单。

springboot使用“约定优先于配置(COC,Convention Over Configuration)”的理念,简单来说,SpringBoot提供了针对企业营业开发各种场景的很多spring-boot-starter自动配置依赖模块,这些模块都基于“开箱即用”的原则。使得企业应用开发中各种场景的Spring应用更加快速高效。

SpringBoot解决的问题

SpringBoot的优点。

二、依赖模块

SpringBoot提供了针对企业应用开发的各种场景的很多spring-boot-starter自动配置依赖模块,它们都以spring-boot-starter-作为命名前缀,并且都位于org.springframework.boot包或者命名空间下。

SpringBoot的配置分类:

日志依赖模块

Java的日志系统有许多种,比如java.util提供的日志功能,有log4j,log4j2,commons logging等日志框架。要在springboot中添加日志框架,可以通过在maven中设置spring-boot-starter-logging,如下:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-logging</artifactId>
</dependency>

SpringBoot将自动使用logback作为项目的日志框架。SpringBoot为开发者提供了很多默认的日志配置,所以这里可以"开箱即用"。

若需要对SpringBoot提供的默认日志配置进行调整,可以遵循logback的约定,使用自己定制的logback.xml日志文件。logback.xml日志文件建议放在项目scr/main、resources目录下,然后在application.properties中指定。

logging.config = logback.xml

当然也可以配置别的日志框架,譬如配置log4j2,只需添加以下依赖即可:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

Web开发依赖模块 Spring-boot-starter-web

要在spring框架下使用MVC框架,需要配置spring-boot-starter-web模块,maven配置如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

简单引入之后就可以使用web的mvc了,项目的App可以直接启动一个嵌入式的tomcat的web应用,然后直接编写Controller就可以实现对访问路径的控制了。

Controller的demo如下:

@RestController
@SpringBootApplication(exclude = {RedisAutoConfiguration.class})
public class FirstbootApplication {


    @RequestMapping("/hello")
    public String index() {
        return "Hello Spring boot";
    }


    public static void main(String[] args) {
        SpringApplication.run(FirstbootApplication.class, args);
    }
}

直接运行main函数就可以启动项目。

SpringBoot的web模块非常简单方便,但是简单的背后有着很多的限制,也可以叫做“约定”,遵守了这些约定才能更好的使用spring-boot-starter-web模块。

项目层面的约定

springBoot中的静态资源和页面文件统一放在src/main/resource目录对应的子目录下。这一点以传统web项目不同。

SpringMVC框架层面的约定。

spring-boot-starter-web默认自动配置一下springMVC的必要组件。

嵌入式Web容器层面的约定

spring-boot-starter-web依赖模块默认使用嵌入式Tomcat作为web容器对外提供服务,默认使用8080端口对外监听和提供服务。
也可以使用jetty和undertow作为替代方案,只需引入依赖即可:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

这里基本上把spring最基本的依赖和框架结构梳理了一下,下面会从SpringBoot启动作为起点,继续介绍springBoot的启动流程。

上一篇 下一篇

猜你喜欢

热点阅读