SpringBoot2基础学习(一)

SpringBoot2核心技术与响应式编程

学习是通过B站上的尚硅谷发布的雷丰阳老师所讲的视频学习的(第一次学习,如有错误请指正)。

学习文档地址https://www.yuque.com/atguigu/springboot

SpringBoot2是基于Java8的。

1.Spring与SpringBoot

Spring是一个生态圈,我们学习过的Spring框架就是Spring Farmework。Spring是非常庞大的,可以帮助我们解决很多问题。他基本覆盖了我们所接触的所有技术。

我们在学习Spring框架时,整合Spring,SpringMVC,Mybaits时需要大量的配置文件,配置的非常繁琐,那么简化配置的SpringBoot就应运而生了。SpringBoot的底层就是SpringFarmework。所以SpringBoot可以帮我们整合Spring这个生态圈。(快速创建生产级别的Spring应用)

SpringBoot优点

1.创建独立的Spring应用

2.内嵌web服务器(内部自带TomCat,Jetty,Undertow)(程序自动变成jar包)

3.提供starter依赖,简化构建配置,(就是Maven依赖)减少版本冲突

4.自动配置Spring以及第三方功能(无代码生成,无需编写XML)

5.提供生产级别的监控,健康检查以及外部优化配置

2.SpringBoot2入门

系统要求

Java8兼容Java14

Maven3.3+

使用Idea用Mvaen构建一个SpringBoot项目(有更加简洁的方式,先用这个)

0.先创建一个Maven项目

1.在maven文件文件中导入

//固定写法SpringBoot版本2.5.3
<parent>
    <groupId>org.springframework.boot</groupId>
    //依赖管理,可以不用写依赖的版本号几乎声明了常用依赖的所有版本号
    //自动版本仲裁
    //这里的starter是一组依赖的集合,只要starter整个开发场景依赖全部都引入
    //starter-*引入某种场景
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.3</version>
</parent>
	//那我们想要指定版本号的时候怎么办呢,如修改mysql驱动版本如下
    //还需要在dependencies里需要加上
    <properties>
    	<mysql.version>5.1.43</mysql.version>
    </properties>
    
//开发web场景spring-boot-starter-web
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

2.编写SpringBoot程序主程序类(入口)

/*
    主程序类,所有启动的入口
    @SpringBootApplication表示这是一个SpringBoot应用
    MainApplication这个就是类名,可以自己定义
 */
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        //我觉得这里就是SpingBoot要跑哪个类为主类,并且MainApplication.class,args这两个参数必不可少
        SpringApplication.run(MainApplication.class,args);
    }
}

3.写一个controller程序

//RestController相当于ResponseBody+controller俩个注解的结合
@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String helloWorld(){
        return "Hello, SpringBoot World";
    }
}

4.因为前文提到过SpringBoot内置了TomCat.所以我们可以在MainApplication类中执行程序,然后访问http://localhost:8080/hello,就可以在网页上显示Hello, SpringBoot World。

5.那如果我们想要修改SpringBoot的一些默认配置怎么办呢,我们可以在resources文件下创建一个application.properties文件里面修改就可以了(这个文件名是固定的哦,在这个文件里修改所有配置)如server.port=8888,就是修改TomCat的端口号。

3.自动配置

1.引入依赖

2.自动配置

在进行注解扫描的时候,在@SpringBootApplication主程序的同样的包里就可以进行包扫描,但是不同包下不能扫描到。

那我们非要把程序放在不在主程序的包下呢?

1.我们可以在@SpringBootApplication(scanBasePackages=“com.XXX”)就可以扫描与主程序不在同一包下的程序了。

2.我们还可以使用@ComponentScan("")来进行包扫描,但是我们就不能使用@SpringBootApplication注解了,我们要使用下面代码来进行了。

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("包名")

在自动装配中,SpingBoot都会给我们配置一个默认值,我们可以在application.properties来进行默认值的修改。

默认的配置最终都是映射到某一个类上。配置文件的值都会绑定到每个类上,类会在容器中创建对象。

上文提到过的starter,我们只有引入哪个场景,这个场景才会开启自动配置(按照我们的需求来进行自动配置,而不是SpringBoot全部都会自动配置上)SpringBoot的自动配置功能都在Spring-boot-autoconfigure包里面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值