【尚庭公寓SpringBoot + Vue 项目实战】移动端项目初始化(十九)

【尚庭公寓SpringBoot + Vue 项目实战】移动端项目初始化(十九)


1、 SpringBoot配置

创建application.yml文件

web-app模块src/main/resources目录下创建application.yml配置文件,内容如下:

server:
  port: 8081

创建SpringBoot启动类

web-app模块下创建com.atguigu.lease.AppWebApplication类,内容如下:

@SpringBootApplication
public class AppWebApplication {
    public static void main(String[] args) {
        SpringApplication.run(AppWebApplication.class);
    }
}

image-20240619234944182

2、Mybatis-Plus配置

在web-app模块的application.yml文件增加如下内容:

spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://<hostname>:<port>/<database>?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2b8
    username: <username>
    password: <password>
    hikari:
      connection-test-query: SELECT 1 # 自动检测连接
      connection-timeout: 60000 #数据库连接超时时间,默认30秒
      idle-timeout: 500000 #空闲连接存活最大时间,默认600000(10分钟)
      max-lifetime: 540000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
      maximum-pool-size: 12 #连接池最大连接数,默认是10
      minimum-idle: 10 #最小空闲连接数量
      pool-name: SPHHikariPool # 连接池名称
  jackson:
      time-zone: GMT+8

#用于打印框架生成的sql语句,便于调试
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

注意:需根据实际情况修改hostnameportdatabaseusernamepassword

image-20240619235200049

3、Knife4j配置

配置类

web-app模块下创建com.atguigu.lease.web.app.custom.config.Knife4jConfiguration类,内容如下:

@Configuration
public class Knife4jConfiguration {

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("APP接口")
                        .version("1.0")
                        .description("用户端APP接口")
                        .termsOfService("http://doc.xiaominfo.com")
                        .license(new License().name("Apache 2.0")
                                .url("http://doc.xiaominfo.com")));
    }
    

    @Bean
    public GroupedOpenApi loginAPI() {
        return GroupedOpenApi.builder().group("登录信息").
                pathsToMatch("/app/login/**", "/app/info").
                build();
    }

    @Bean
    public GroupedOpenApi personAPI() {
        return GroupedOpenApi.builder().group("个人信息").
                pathsToMatch(
                        "/app/history/**",
                        "/app/appointment/**",
                        "/app/agreement/**"
                ).
                build();
    }

    @Bean
    public GroupedOpenApi lookForRoomAPI() {
        return GroupedOpenApi.builder().group("找房信息").
                pathsToMatch(
                        "/app/apartment/**",
                        "/app/room/**",
                        "/app/payment/**",
                        "/app/region/**",
                        "/app/term/**"
                ).
                build();
    }
}

application.yml配置文件

在application.yml文件中增加如下配置:

springdoc:
  default-flat-param-object: true

image-20240619235845447

4、导入基础代码

导入的代码和目标位置如下:

导入代码模块包名/路径说明
mapper接口web-appcom.atguigu.lease.web.app.mapper
mapper xmlweb-appsrc/main/resources/mapper
serviceweb-appcom.atguigu.lease.web.app.service
serviceImplweb-appcom.atguigu.lease.web.app.service.impl

image-20240620000202349

5、导入接口定义代码

需要导入的代码和目标位置如下:

导入代码模块包名/路径说明
controllerweb-appcom.atguigu.lease.web.app.controller
voweb-appcom.atguigu.lease.web.app.voView Object,用于封装或定义接口接受及返回的数据结构

image-20240620000256800

6、启动项目

由于common模块中配置了MinioClient这个Bean,并且web-app模块依赖于common模块,因此在启动AppWebApplication时,SpringBoot会创建一个MinioClient实例,但是由于web-app模块的application.yml文件中并未提供MinioClient所需的参数(web-app模块暂时不需要使用MinioClient),因此MinioClient实例的创建会失败。

为解决该问题,可以为MinioClient的配置类增加一个条件注解@ConditionalOnProperty,如下,该注解表达的含义是只有当minio.endpoint属性存在时,该配置类才会生效。

@Configuration
@EnableConfigurationProperties(MinioProperties.class)
@ConditionalOnProperty(name = "minio.endpoint")
public class MinioConfiguration {

    @Autowired
    private MinioProperties properties;

    @Bean
    public MinioClient minioClient() {
        return MinioClient.builder().endpoint(properties.getEndpoint()).credentials(properties.getAccessKey(), properties.getSecretKey()).build();
    }
}

完成上述配置后,便可启动SpringBoot项目,并访问接口文档了,Knife4j文档的url为:http://localhost:8081/doc.html

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: springboot+vue项目实战是一种常见的开发模式,它将后端的业务逻辑和前端的用户界面分离开来,使得开发更加高效和灵活。在这种模式下,后端使用springboot框架进行开发,前端使用vue框架进行开发,两者通过RESTful API进行通信。这种模式具有易于维护、易于扩展、易于测试等优点,因此在实际项目中得到了广泛应用。 ### 回答2: SpringBootVue是现代web开发中非常流行的技术栈,他们分别代表了后端和前端的强大。结合起来,可以实现更加灵活和高效的web应用开发。本篇文章将介绍如何用SpringBootVue搭建一个完整的web应用,并展示如何运用他们的优势来提高开发效率和用户体验。 首先是SpringBoot后端的实现。使用SpringBoot可以快速搭建一个轻量级的后端架构,它包含了很多优秀的特性,例如自动配置,简单易用的API,以及集成了很多流行的依赖。开发者只需要一个简单的Maven或Gradle配置就可以开始编写Java代码了。 在实现中,我们使用了一个简单的用户管理系统,它包括了用户注册,登录,以及权限管理等基本功能。我们使用MySQL数据库存储用户信息,同时使用SpringSecurity来处理用户认证和授权。 Vue是一个非常强大的JavaScript框架,它拥有很多出色的特性,例如响应式页面设计,单页面应用等。结合Webpack,Vue可以使用诸如Vue Router,Vuex,Element UI等插件来加速开发。在本项目中,我们使用Vue来实现前端界面,同时使用Vue Router来处理页面路由,Vuex来处理状态管理,以及Element UI来提高视觉效果和交互体验。 最后我们将介绍如何使用SpringBootVue来组合一个完整的web应用。我们将使用axios来发起Ajax请求,同时使用SpringBoot提供的Restful API来处理请求,以及使用Vue显示数据和更新页面。我们也会展示如何使用SpringSecurity来保护API,并如何使用拦截器来控制用户权限。 综合起来,这个项目展示了如何使用SpringBootVue来构建一个完整的web应用,通过它你可以了解到SpringBootVue各自的优点,以及如何合理地结合它们来提高开发效率和用户体验。本项目代码开源可供下载、修改和使用。 ### 回答3: SpringBootVue.js是现在很热门的开发框架,它们都有自己的优势和特点,可以很好地实现前后端分离的开发模式。SpringBoot是一个快速开发框架,可以帮助我们快速搭建后端接口,而Vue.js则是一个轻量级的前端开发框架,可以帮助我们快速搭建前端页面和交互。 SpringBootVue.js可以非常完美地结合起来,形成一个完整的项目。在实践中,我们可以先使用SpringBoot搭建后端接口,然后使用Vue.js搭建前端页面和交互。在前后端分离的开发模式下,前后端的开发可以同时进行,互不干扰,提高了开发效率和代码质量。 具体项目实战中,我们可以根据需求来设计和实现项目。例如,我们可以使用SpringBoot来实现一个简单的登录注册接口,然后使用Vue.js来实现用户登录和注册页面。我们也可以使用SpringBoot实现一个简单的数据接口,然后使用Vue.js来实现数据的展示和交互功能。不管是哪种场景,SpringBootVue.js都可以帮助我们快速搭建一个完整的项目。 在项目实战中,我们还需要注意一些细节和技巧。例如,在使用SpringBoot时,我们应该合理地设计接口和参数,统一返回格式和错误码,便于前端调用和处理。在使用Vue.js时,我们应该注意组件的拆分和复用,尽量避免重复性的代码编写,提高代码的可维护性和可拓展性。同时,我们还应该注意前后端数据的交互和安全性,使用合适的加密和验证方式,避免数据泄露和攻击。 总之,SpringBootVue.js的结合是一个非常不错的选择,通过它们的协作,我们可以快速搭建高效、可维护、安全的项目。在实际项目中,我们需要结合具体场景和需求来设计和实现项目,同时注意细节和技巧,才能取得良好的效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小林学习编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值