SpringBoot快速入门

简介: SpringBoot快速入门

什么是SpringBoot

SpringBoot基于Spring4.0设计,不仅继承了Spring架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。


对我最大的感受就是简化了配置,可以看这篇博客里边使用了4个配置文件,但在SpringBoot项目中只需要一个配置文件就可以了。   超详细整合SSM框架--(Spring + Spring MVC + MyBatis)


Spring Boot 核心功能

1)独立运行的 Spring 项目


Spring Boot 可以以 jar 包的形式独立运行,运行一个 Spring Boot 项目只需通过 java–jar xx.jar 来运行。


2)内嵌 Servlet 容器


Spring Boot 可选择内嵌 Tomcat、Jetty 或者 Undertow,这样我们无须以 war 包形式部署项目。


3)提供 starter 简化 Maven 配置


Spring 提供了一系列的 starter pom 来简化 Maven 的依赖加载,例如,当你使用了spring-boot-starter-web 时,会自动加入如图 1 所示的依赖包。


4)自动配置 Spring


Spring Boot 会根据在类路径中的 jar 包、类,为 jar 包里的类自动配置 Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot 只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置 Bean,而 Spring Boot 没有提供支持,则可以自定义自动配置。


5)准生产的应用监控


Spring Boot 提供基于 http、ssh、telnet 对运行时的项目进行监控。


6)无代码生成和 xml 配置


Spring Boot 的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是 Spring 4.x 提供的新特性。Spring 4.x 提倡使用 Java 配置和注解配置组合,而 Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。


创建一个新的maven工程

image.png


导入依赖----官方说明手册

<!--    所有的SpringBoot应用都要以该工程为父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.7.RELEASE</version>
    </parent>
    <!--    导入依赖-->
    <dependencies>
        <!--   启动器:每一个启动器背后都是一堆的依赖-->
        <!--   web的启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

创建Controller类

package com.dynamic.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @Author: Promsing
 * @Date: 2021/5/13 - 19:24
 * @Description: HelloController
 * @version: 1.0
 */
@RestController//返回json类型的数据  方法的返回值默认加了一个@ResponseBody
@RequestMapping("hello")
public class HelloController {
    @GetMapping("show")
    public String test(){
        return "hello springboot 1";
    }
}
@RestController//返回json类型的数据  方法的返回值默认加了一个@ResponseBody
@RequestMapping("hi")
public class HiController {
    @GetMapping("sayHi")
    public String sayHi(){
        return "sayHi";
    }
}

创建引导类

/**
 * @Author: Promsing
 * @Date: 2021/5/30 - 9:42
 * @Description: 引导类:springBoot应用的入口
 * @version: 1.0
 */
//表明本类是一个配置类,
@Configuration //本身其实也是一个 IoC 容器的配置类
//启用SpringBoot的自动配置
@EnableAutoConfiguration
//组件扫描--类似<context:component-scan base-package="">
@ComponentScan  //会扫描本类所在的包及子包-子子包
//@SpringBootApplication  是SpringBoot的组合注解  相当于@EnableAutoConfiguration+@ComponentScan+@SpringBootConfiguration
public class MainApplication {
    public static void main(String[] args) {
        //固定写法  SpringApplication.run(启动类的字节码文件,args);
        SpringApplication.run(MainApplication.class,args);
    }
}

@Configuration注解

@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的,作用为:配置spring容器(应用上下文)、


@EnableAutoConfiguration

启动SpringBoot的自动配置,帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot,并创建对应配置类的Bean,并把该Bean实体交给IoC容器进行管理。


@ComponentScan

用于指定spring在初始化容器时要扫描的包。作用和在spring的xml配置文件找那个的<context : component-sacn base-package="com.dynamic"/>一样


1.SpringBoot使用SpringFactoriesLoader,将@EnableAutoConfig对应的自定义autoConfig类加载到IOC中.


2.Starter中除了封装的AutoConfig bean,还有把需要的依赖的jar包依赖,拉取进来,极大的简化了配置.


浏览器中输入本地访问路径--即可访问

http://localhost:8080/hello/show
http://localhost:8080/hi/sayHi

image.png

相关文章
|
Java 测试技术 Spring
Gradle从0入门到实战系列【八】SpringBoot集成Junit单元测试
JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
1703 1
Gradle从0入门到实战系列【八】SpringBoot集成Junit单元测试
|
XML Java 测试技术
SpringBoot入门篇 01、Springboot入门及配置(二)
SpringBoot入门篇 01、Springboot入门及配置(二)
|
XML Java 应用服务中间件
SpringBoot 快速入门(保姆级详细教程)
SpringBoot快速入门,保姆级别超详细,解决IDEA创建SpringBoot项目一直转圈圈。
721 0
SpringBoot 快速入门(保姆级详细教程)
|
存储 Java 测试技术
Idea工具中创建 SpringBoot工程及入门详解
Idea工具中创建 SpringBoot工程及入门详解
1363 4
Idea工具中创建 SpringBoot工程及入门详解
|
Java 关系型数据库 MySQL
MyBatis-Plus 入门 【SpringBoot版】
今天来带大家入门学习MyBatis-Plus,MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
|
druid Java 关系型数据库
《SpringBoot篇》01.Springboot超详细入门(基础篇)(三)
《SpringBoot篇》01.Springboot超详细入门(基础篇)(三)
512 0
《SpringBoot篇》01.Springboot超详细入门(基础篇)(三)
|
JSON Java 应用服务中间件
《SpringBoot篇》01.Springboot超详细入门(基础篇)(二)
《SpringBoot篇》01.Springboot超详细入门(基础篇)(二)
185 0
《SpringBoot篇》01.Springboot超详细入门(基础篇)(二)
|
Java 应用服务中间件 Maven
《SpringBoot篇》01.Springboot超详细入门(基础篇)(一)
《SpringBoot篇》01.Springboot超详细入门(基础篇)(一)
237 0
《SpringBoot篇》01.Springboot超详细入门(基础篇)(一)
|
开发框架 负载均衡 前端开发
SpringBoot入门篇 01、Springboot入门及配置(一)
SpringBoot入门篇 01、Springboot入门及配置(一)
|
Java 应用服务中间件 数据库连接
springboot入门demo详解(解决跨域)
微服务自问世以来就一直很火。天天耳听Springboot,Springcloud,docker,这些名词,以前没学Springboot的时候刚学ssm的时候,,说实话头都炸了。单独一个个学习Spring,Springmvc,mybatis还能将就配置,记得当初把三个整合的时候可是费了好大的功夫,然后又将ssm转成idea的maven项目又转了一大圈,找了好久,n个bug才把ssm搭成功。
236 0
springboot入门demo详解(解决跨域)