首页>>后端>>SpringBoot->springboot怎么搭建?

springboot怎么搭建?

时间:2023-12-01 本站 点击:0

springboot、mybatis-plus、Druid多数据源环境搭建

Java单体项目里,我们一般是只需配置一个数据库,这时代码里的dao层都是只对一个数据库操作;但有时候我们的数据可能在2个或者3个数据库,这时就需要配置更多数据源,进行数据库直连操作,下面以MySQL的两个库为例(Oracle也就换个驱动类与连接串)。

(本文阅读大概花费两分钟)

技术条件:

springboot 2.5.3 (即springframework 5.3.9)

MySQL 5.7

mybatis-plus 3.5.0

dynamic-datasource 3.5.0

druid 1.2.9

idea开发工具、maven 3.3.9

1、导入相关依赖

2、建立两个数据库mydb(表 user)、db2(表t_class),并分别建一张表

3、编写application.yaml配置文件

4、编写po类、dao层、一个接口测试类

其中,在dao的类加上对应的数据源标识符,使用此注解com.baomidou.dynamic.datasource.annotation.DS

5、启动项目,查看结果

至此,多数据源环境集成成功;当然这里只使用了查询功能,对应事务相关的下一回合文章再做讨论啥。

SpringBoot + ES基本项目搭建实例

之前一直没有写ES相关的博文,现在开始补课,预计5-6篇博文将es的使用姿势展示给各位小伙伴;本文将作为es结合springboot的第一篇博文,基本项目环境搭建

本项目借助 SpringBoot 2.2.1.RELEASE + maven 3.5.3 + IDEA 进行开发

开一个web服务用于测试

配置文件application.yml,注意下面的配置信息,下面采用的是由我们自己来解析配置的方式

说明

上面配置介绍的是一种偏基础的es文档操作姿势,相比较于封装得更好的 spring-boot-starter-data-elasticsearch ,使用更加灵活

接下来我们基于 RestHighLevelClient 来操作es,首先第一步就是需要初始化这实例

注意上面的实现,用户名 + 密码并没有使用,当es设置了用户名、密码之后,是通过每次请求时,在请求头基于Basic Auth方式进行身份验证的;后面会介绍到

我们在本机搭建了一个es用于模拟测试,在上面的配置完之后,就可以直接与es进行交互了

下面是一个简单的使用姿势

注意上面的实现,有下面几个重要知识点

身份验证

采用Basic Auth方式进行身份校验,简单来说就是在请求头中添加一个

• key = Authorization

• value = "Basic " + base64(user + ":" + pwd)

访问姿势

上面是一个根据 id 查询文档的实例,简单可以理解为三步

•创建: XxRequest

•添加请求头: RequestOptions.Builder.addHeader

•执行: client.get(xxRequest, RequestOptions)

•工程:

•源码:

尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

•一灰灰Blog个人博客

•一灰灰Blog-Spring专题博客

[1] 200605-Centos 安装ElasticSearch - 一灰灰Blog:

[2] 210329-Elastic Kibana安装与基本使用 - 一灰灰Blog:

IntelliJ IDEA搭建SpringBoot项目

若不使用镜像,会发现maven项目会同步半天都不成功。

pom.xml报错日志:

getInputStream() must not be called against a directory: apache-maven-3.6.3/conf

通过修改application.yml文件即可,注意SpringBoot2.0前后的写法不一样。

2.0及之前:

server.context-path=/myprojectname

2.0之后:

server.servlet.context-path=/myprojectname

而且还有个重点我要强调: key与value之间一定要空格 。

建议远程部署war包之前,先在本地Tomcat部署测试,再去远程部署测试。

下面的都是打war包然后部署

上面的这些博客说的可能千奇百怪,我实践总结了一下,就两点:

1)pom.xml配置打包类型为war

packagingwar/packaging

2)定义ServletInitializer类

定义ServletInitializer类,和Application同一目录:

当然也可以把这个configure方法直接写到Application类里。

3)生成war包放到tomcat里

第一步: pom.xml里添加依赖

第二步:写html

怎么让html适配手机的大小:

在head里添加 meta charset="UTF-8" name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"

第三步:配置application.yml文件

这里的mode: LEGACYHTML5需要依赖第一步pom.xml中依赖的nekohtml,代表不是严格规范的HTML5,否则html5很容易报错。

第四步:新建Controller

1)注意@Controller不是@RestController,后者这个接口会返回普通的字符串,而不是一个网页。

2)注意pom.xml中的 spring-boot-starter-thymeleaf ,没有这个的话,接口会报404。

电脑经常性的重启,导致IDEA意外关闭,然后项目就不被识别为Maven项目了,View-ToolWindow-MavenProject就没有这个选项。application.yml修改也没有生效。

解决办法:关闭项目重新import导入即可

从零开始新建Springboot项目之项目启动(一)

一般都是使用搭建好的框架进行业务逻辑开发,一直不清楚整个项目是如何从零到一构建出来的。所以开一个帖子,记录一下一个springboot项目是如何构建的。

使用的工具为idea

选择maven或者spring initializr都可以。spring initializr会在pom中自动添加一些springboot用到的jar包,此处选择maven。起好名字后,一路next即可

从实际开发角度,构建Module不是必选项。但学习嘛,还是要知道是怎么创建的

右键项目名称 - New - Module

依然选择maven,起名字即可。一般命名为:XXXX-Controller,XXXX-Service等等

建好后,pom中会多出以下内容

(放弃多模块配置)

可在此处搜索 mvnrepository

首先添加parent,作为父级依赖。位置在 project/project 的下一级,与 groupIdorg.example/groupId 同级,

在 parent/parent 同级新建 dependency/dependency 标签,引入web项目需要的依赖

如果是多模块的项目,需要在每一个模块的pom文件中,添加其依赖的其他模块。例如controller依赖service,则需要在controller的pom文件中添加以下依赖信息。如果不是多模块项目,可以忽略

在java路径下新建顶级路径 com.tardis ,在此路径下新建文件 CustomerApplication (名字随意)。新建 controller , service 的 package 。在 CustomerApplication 添加如下方法

文件的层级关系如图

在 resource 目录下,新建 application.yml , application.dev.yml , application.prod.yml 文件,作为总体,开发环境,生产环境的配置文件。配置文件格式为 properties , yml 均可,此处使用 yml ,看起来比较简洁清晰

层级关系如图

为了更好地演示效果,可以先写一个简单的Controller进行测试,在controller文件夹中新建class,名字随意。文件层级如图。放一个最简单的接口。

使用postman调用,返回结果如下


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/6101.html