Java后端——springboot学习之路(项目实践)第三天

完善类并实现简单的增删改查操作

操作步骤延续上一天的项目。

步骤一 创建springboot启动类

在com.atnanning.servicemsc包下创建启动类MscApplication,并增添注解@SpringBootApplication。

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

注意创建的路径在com.atnanning.servicemsc下。
在这里插入图片描述

步骤二 编写后台管理api接口

在包controller的McsUserController类中编写以下代码,用来查询数据库中的数据。

@Autowired
    private McsUserService mcsUserService;
    @GetMapping
    public List<McsUser> list(){
        return mcsUserService.list(null);
    }

如果此时直接运行启动类,会出现以下错误。
在这里插入图片描述
在这里插入图片描述
解决方案是添加@MapperScan注解,首先创建包config,在包中创建配置类McsConfig,在类中添加以下两个注解:@Configuration和@MapperScan。代码如下:

@Configuration
@MapperScan("com.atnanning.servicemsc.mapper")
public class MscConfig {
}

之后点击运行启动类,启动成功后,在网页输入http://localhost:8001/servicemcs/mcsuser,端口8001后面的内容查看controller类即可。
在这里插入图片描述
最终可以在网页端看到数据库中的数据:
在这里插入图片描述

步骤三 实现删除功能

与上面在controller中查询方式类似,在controller中实现删除功能。
在McsUserController中编写以下代码:

@DeleteMapping("{id}")
    public boolean removeById(@PathVariable String id){
        return mcsUserService.removeById(id);
    }

同时由于我们采用的删除方式是逻辑删除(逻辑删除的含义是不做出真实的删除,删除时将is_deleted从0设置为1,便实现了逻辑删除),在entity中的逻辑修改符增添注解@TableLogic:

@ApiModelProperty(value = "逻辑删除 1(true), 0(false)")
    @TableLogic
    private Boolean isDeleted;

在配置类McsConfig中增添逻辑删除插件:

 /**
     * 逻辑删除插件
     */
    @Bean
    public ISqlInjector sqlInjector() {
        return new LogicSqlInjector();
    }

删除时需要传入参数id,我们借助swagger来实现,这样便于前后端分离开发。所以步骤四是用来配置swagger,配置完成后,再进行删除操作。

步骤四 部署Swagger

1.在crowdsensing_parent下创建子模块common. 与之前创建service子模块一样,选择maven工程。同样删除src。
在这里插入图片描述
2.在common的pom.xml中导入以下依赖:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>provided </scope>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <scope>provided </scope>
        </dependency>
        <!--lombok用来简化实体类:需要安装lombok插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided </scope>
        </dependency>
        <!--swagger-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <scope>provided </scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <scope>provided </scope>
        </dependency>
        <!-- redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- spring2.X集成redis所需common-pool2
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.6.0</version>
        </dependency>-->
    </dependencies>

3.在common下创建孙子模块service_base.
在这里插入图片描述
4.在service_base- ->src - ->main- - >java中创建包com.atnanning.servicebase,并在包中创建Swagger的配置类SwaggerConfig,在类中复制以下内容:

 @Bean
    public Docket webApiConfig(){

        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("webApi")
                .apiInfo(webApiInfo())
                .select()
                .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
                .paths(Predicates.not(PathSelectors.regex("/error.*")))
                .build();

    }

    private ApiInfo webApiInfo(){

        return new ApiInfoBuilder()
                .title("网站-课程中心API文档")
                .description("本文档描述了课程中心微服务接口定义")
                .version("1.0")
                .contact(new Contact("Helen", "http://atguigu.com", "55317332@qq.com"))
                .build();
    }

5.在字模块service中的pom.xml中引入service_base,复制以下内容:

			<dependency>
            <groupId>com.atnanning</groupId>
            <artifactId>service_base</artifactId>
            <version>0.0.1-SNAPSHOT</version>
             </dependency>

6.在servicemcs的启动类McsApplication中加入注解:

// An highlighted block
@ComponentScan(basePackages = {"com.atnanning"})

完成上述操作后,运行McsApplication启动类,在浏览器中输入http://localhost:8001/swagger-ui.html,若出现以下情况,一种可能的原因是未在启动类McsApplication中增添注解@ComponentScan(basePackages = {“com.atnanning”}),另一种是未在SwaggerConfig中增添注解@Configuration和@EnableSwagger2。在这里插入图片描述
正常启动后的界面是:
在这里插入图片描述
可以看到之前写的查询方法和删除方法。
输入100,点击try it out。
在这里插入图片描述
返回的结果是true(其实100这个id数据库中没有,这个应该是个bug,不论有没有数据,只要功能正常,删除都会返回true,但不影响整体效果)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当前课程中商城项目的实战源码是我发布在 GitHub 上的开源项目 newbee-mall (新蜂商城),目前已有 9900 多个 Star,本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能的讲解,让大家实际操作并实践上手一个大型的线上商城项目,并学习到一定的开发经验以及其中的开发技巧。商城项目所涉及的功能结构图整理如下: 作者寄语本课程录制于2019年,距今已有一段时间。期间,Spring Boot技术栈也有一些版本升级,比如Spring Boot 2.7.x发版、Spring Boot 3.x版本正式版本。对于这些情况,笔者会在本课程实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者朋友们不会学习过气的知识点。新蜂商城的优化和迭代工作不会停止,不仅仅是功能的优化,在技术栈上也会不断的增加,截止2023年,新蜂商城已经发布了 7 个重要的版本,版本记录及开发计划如下图所示。 课程特色 对新手开发者十分友好,无需复杂的操作步骤,仅需 2 秒就可以启动这个完整的商城项目最终的实战项目是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择实践项目页面美观且实用,交互效果完美教程详细开发教程详细完整、文档资源齐全代码+讲解+演示网站全方位保证,向 Hello World 教程说拜拜技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力 课程预览 以下为商城项目的页面和功能展示,分别为:商城首页 1商城首页 2购物车订单结算订单列表支付页面后台管理系统登录页商品管理商品编辑
对于Java后端开发的学习路线,特别是Spring Boot框架,我可以给你一些建议和指导。以下是一个初学者的学习路线: 1. Java基础知识:首先要掌握Java的基本语法、面向对象编程、异常处理等知识。可以通过在线教程、书籍或者参加培训课程来学习。 2. 数据库基础:了解数据库的基本知识,包括SQL语句的编写、数据库设计以及连接数据库等操作。MySQL是一个常用的关系型数据库,可以选择学习它。 3. Spring框架:学习Spring框架是开发Java后端应用的基础。首先要了解Spring的核心概念,包括IoC容器、依赖注入等。可以通过阅读官方文档、教程或者参加培训来学习。 4. Spring Boot入门:Spring Boot是一个简化了Spring开发的框架,它提供了自动配置、快速构建等特性,使得开发更加便捷。可以通过阅读官方文档、教程或者实践项目学习。 5. Web开发:学习使用Spring Boot进行Web开发,包括处理HTTP请求、构建RESTful API等。了解常用的Web开发技术,如HTTP协议、Servlet、JSP等。 6. 数据访问:学习使用Spring Boot与数据库进行交互,可以选择使用Spring Data JPA或者MyBatis等持久层框架。了解事务管理、连接池等相关知识。 7. 安全性和认证授权:学习如何在Spring Boot应用中实现用户认证和授权,保护应用程序的安全。可以使用Spring Security框架来实现。 8. 微服务:学习如何使用Spring Boot构建微服务应用,了解微服务架构的概念和常用组件,如服务注册与发现、负载均衡等。 9. 测试与部署:学习如何编写单元测试和集成测试,以及如何使用自动化部署工具来部署和管理Spring Boot应用。 以上是一个大致的学习路线,你可以根据自己的实际情况和需求进行调整和深入学习。同时,多实践、多阅读优秀的开源项目代码也是提高技能的有效途径。祝你学习顺利!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值