Spring Boot随笔

Spring Boot

参考文档:Spring Boot 中文网

一.是什么

Spring需要大量XML配置,为简化Spring应用的搭建和开发,于是Spring Boot诞生。

Spring Boot提供大量开箱即用的依赖模块,例如 spring-boot-starter-redis、spring-boot-starter-data-mongodb 和 spring-boot-starter-data-elasticsearch 等。这些依赖模块为 Spring Boot 应用提供了大量的自动配置,使得 Spring Boot 应用只需要非常少量的配置甚至零配置,便可以运行起来。

特点:

  • 独立运行的 Spring 项目

Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“ java–jar xx.jar” 即可运行。

可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

  • 内嵌 Servlet 容器

例如 Tomcat、Jetty 或者 Undertow 等,应用无需打成 WAR 包 。

  • 提供starter简化Maven配置

  • 提供大量自动配置

  • 自带应用监控

  • 无代码生成和xml配置

Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。

二.快速入门

使用 Spring Initializr 创建

步骤:

  1. Create New Project
  2. 点击 Spring Initializr,选择项目的 SDK 为 1.8,选择 starter service URL 为 http://start.spring.io(默认),最后点击下方的 Next 按钮进行下一步。(IDEA 会连接网络,并根据 starter service URL 查询 Spring Boot 的当前可用版本和组件列表)
  3. 在 Spring Initializr Project Settings 中,注意 Type 为 Maven,packaging 为 jar,Java version 切换为 8。
  4. 选择spring boot版本,以及所依赖的 Spring Boot 组件。
  5. 给当前的应用启动配置端口(resources-application.properties)
//启动端口
server.port=8001
  1. 在com.cc.myspringboot包下新建controller包,在controller包下新建HelloWorldController类
  2. 在HelloWorldController类前加上@RestController注释(属于SpringMVC的注释)

@RestController作用:1.声明控制器(@Controller); 2.返回json对象(@ResponseBody)
什么是json对象?json对象首先是字符串

//下面展示了一个简单的 JSON 数据:
{
    "Tutorial":"JSON",
    "Article":[
        "JSON 是什么?",
        "JSONP 是什么?",
        "JSON 语法规则"
    ]
}
  1. 编写方法,并在方法前加上@RequestMapping注释

@RequestMapping作用:映射URL路径

三.Spring Boot starter

传统的 Spring 项目想要运行,不仅需要导入各种依赖,还要对各种 XML 配置文件进行配置。但 Spring Boot 项目在创建完成后,即使不编写任何代码,不进行任何配置也能够直接运行,这都要归功于 Spring Boot 的 starter 机制。

用户只需要在 Maven 中引入 starter 依赖,SpringBoot 就能自动扫描到要加载的信息并启动相应的默认配置。starter 提供了大量的自动配置,这些 starter 都遵循着约定成俗的默认配置,并允许用户调整这些配置,即遵循**“约定大于配置”**的原则。

1.spring-boot-starter-web

spring-boot-starter-web 为我们提供了嵌入的 Servlet 容器以及 SpringMVC 的依赖,并为 Spring MVC 提供了大量自动配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
@Controller
public class HelloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "www.biancheng.net";
    }
}

四.Spring Boot默认配置文件

Spring Boot 在启动时会将 resources 目录下的 application.properties 或 apllication.yml 作为其默认配置文件,但这并不意味着 Spring Boot 项目中只能存在一个 application.properties 或 application.yml。

Spring Boot 启动时会扫描以下 5 个位置的 application.properties 或 apllication.yml 文件,并将它们作为 Spring boot 的默认配置文件。(优先级从高到低排序)

  1. file:./config/*/
  2. file:./config/
  3. file:./
  4. classpath:/config/
  5. classpath:/

注:file: 指当前项目根目录;classpath: 指当前项目的类路径,即 src下(而配置文件一般放在src的resource下)。

五.Spring Boot日志

日志通常由一个日志门面和一个日志实现组合搭建而成,Spring Boot选用SLF4J+Logback组合搭建而成,并提供默认配置。

在项目开发中,记录日志时不应该直接调用日志实现层的方法,而应该调用日志门面(日志抽象层)的方法。

SLF4J的使用

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HelloWorld {
    public static void main(String[] args) {
        Logger logger = LoggerFactory.getLogger(HelloWorld.class);
       //调用 sl4j 的 info() 方法,而非调用 logback 的方法
        logger.info("Hello World");
    }
}

@Slf4j
自动生成该类的log 静态常量,等价于下述代码:

private final Logger log = LoggerFactory.getLogger(当前类名.class);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值