【Java】springboot

文章目录

    • Spingboot
      • 1、起步依赖
      • 2、构建springboot工程jar包
      • 3、springboot配置文件
      • 4、多环境配置
      • 5、maven和boot多环境兼容问题
      • 6、配置文件分类
      • 7、springboot整合mybatis

Spingboot

springboot用来简化spring的初始搭建以及开发过程。

比方说,创建一个springmvc程序。先导入很多很多坐标,然后写很多的配置类。很麻烦。

而如果使用springboot,spring和springmvc的大量依赖和它们的两个配置类可以得到简化。并且springboot还内置了一个tomcat服务器。

从spring的官网上就可以下载到一个springboot工程的模板。用这个模板开始开发。

1、起步依赖

最简单的springboot程序包含两个文件:Application类和pom文件。

只要运行Application类,就可以启动springboot,tomcat也会跟着启动。

pom文件之中有最基础的两个依赖。一个是继承的依赖starter-parent,springboot最基础的依赖,springboot所有的东西都建立在其之上。另一个是starter-web依赖,springboot程序能够完成web开发就以这个依赖作为基础。

【Java】springboot_第1张图片

starter-parent这个依赖,里边实际上配置了200多个依赖(mysql、servlet、springweb等等),并且这些依赖的版本都是没有冲突的。这些依赖都用dependencyManagement进行管理,要用到的时候直接引入即可。

starter-web这个依赖存在于starter-parent这个依赖中。它是做web需要用到的依赖,所以将其从starter-parent这个依赖引下来。

另外,starter-parent中还有starter-test依赖,可以用来做测试,也可以引下来。

另外,starter-web这个依赖中存在starter这个依赖,如果不添加start-web依赖,也必须要添加start依赖。

springboot默认使用tomcat作为服务器,但是其实可以更改为jetty服务器。starter-parent之中具有jetty的服务器。只要把tomcat服务器的依赖排除掉,然后使用jetty服务器即可。

【Java】springboot_第2张图片

2、构建springboot工程jar包

要构建springboot工程的jar包,需要同时包含springboot依赖的所有jar包,并且要指定一个入口类才能使用java -jar启动jar包。

maven使用默认的指令package是没法包含springboot依赖的jar包并指定入口类的。需要在pom文件中专门导入一个maven打包的插件用于打包springboot工程。

【Java】springboot_第3张图片

3、springboot配置文件

基础springboot工程只有启动类和pom文件,但是如果想要更改springboot的设置,或者想要配置一些设置项(比如mysql的数据源),就需要引入配置文件了。

三种配置文件(properties,yml,yaml),可以在这三种中写springboot的配置信息。当三种同时存在时,properties的优先级最高,yaml的优先级最低。

有些配置项配置了,会被springboot自动读取。如果开发者想要获取到配置项的内容,应该如何做呢?

第一种方式:使用自动装配基本类型@value即可。

【Java】springboot_第4张图片

第二种方式:使用springboot提供的类Enviroment,使用@Autowired自动装配,所有设置项都会被封装到这个对象中。

【Java】springboot_第5张图片

第三种方式,引入依赖然后自定义一个封装类即可。

【Java】springboot_第6张图片
【Java】springboot_第7张图片

4、多环境配置

在配置文件中配置即可。

【Java】springboot_第8张图片

将springboot打包,可以在启动jar包的时候指定特定的环境。

java -jar springboot.jar --spring.profiles.active=test

其实启动jar包的时候可以修改配置文件中的信息。

java -jar spirngboot.jar --server.port=10001 --spring.profiles.active=pro

5、maven和boot多环境兼容问题

之前maven高级应用的时候也有一个多环境开发,boot和maven之间可以实现同步。要想要springboot能够和maven的多环节依赖产生联系,只需要让springboot读取pom文件激活的环境配置即可。

要实现boot读取pom文件中的属性,要在pom中加个插件:

【Java】springboot_第9张图片

然后在springboot的配置中激活maven的指定环境。使用${}占位符来获取pom文件中的标签中的内容。

【Java】springboot_第10张图片

6、配置文件分类

配置文件在不同的位置,有不同的加载优先级。具体来说,将一个springboot项目打包,它会按照如下顺序加载配置文件:

【Java】springboot_第11张图片

这样可以更加方便对配置文件做管理。并且如果打包的时候jar包中的配置文件写错了,可以在jar包同级目录下添加修改后的配置文件来完成修改。不用重新部署jar包。

config目录主要是为了处理这样的场景:别人给了一个项目并且已经写好了配置文件,如果想要修改配置文件,最好不要直接在他的配置文件中修改,这时候就可以新建config目录,在这个目录下添加配置文件。springboot会优先加载这个目录下的配置文件。

7、springboot整合mybatis

springboot整合mybatis非常非常简单。只需要导入mybatis和mysql的依赖,然后在springboot的配置文件中编写数据源,然后为数据层接口添加注解@Mapper,接下来为接口中方法添加各种mybatis注解/编写sql映射文件,就可以调用接口中各种方法执行数据库查询操作了。

【Java】springboot_第12张图片

spring整合mybatis的时候,还需要将mybatis的配置文件中数据库连接和包扫描的部分做成bean,springboot将这两部分隐藏起来了。

由于springboot的配置文件中有数据源的信息,所以mybatis会自动读取配置文件创建SqlSessionFactoryBean。

由于springboot的数据层接口会加上@Mapper注解,这个注解可以代替包扫描的作用。

当接口自动装配,发现这个接口上存在Mapper注解,springboot会去寻找IoC容器中的SqlSessionFactoryBean以及sql映射文件帮助该接口创建代理对象。然后这个接口就可以执行各种查询了。

你可能感兴趣的:(Java,java,spring,boot,开发语言)