通过Spring Boot创建项目

目录

引言

一、创建新项目

[二、通过spring boot创建顾客查询的项目](#二、通过spring boot创建顾客查询的项目)

1.实体类:

2.mapper接口

3.service服务层接口

4.service服务层接口实现类

5.mapper映射文件

三、可能遇到的问题


引言

在通过之前ssm框架的学习后,你是否会感觉ssm的配置过多,操作不是很简便呢,现在,我们来学习一下Spring Boot框架。

Spring Boot框架化了基于 Spring 框架的应用程序的开发和部署,它通过自动配置和默认设置来减少开发人员的工作量。它集成了许多常见的第三方库和框架,如 Spring MVC、Spring Data、Spring Security 等,使开发人员能够更轻松地构建功能丰富、可扩展的应用程序。

一、创建新项目

现在,我们开始创建第一个Spring Boot框架项目吧

首先,新建------》项目------》Spring Initializr

项目SDK选择电脑上有的SDK,我用的是1.8

java version的版本进去后再进行修改

点击下一步,在选择配置时可能会有问题,我们可以在项目中进行后继的调整。

进入程序后,先运行一下检查是否有错误。

如果运行报错

springboot java: 错误: 无效的源发行版:15

这时,我们就要修改一下我们的java version和spring boot版本了。

打开项目结构------》项目,如果你的java SDK版本为1.8,那么在pom文件中,你的java version版本就要改为8

之后再修改springboot的版本,这里我使用的就是2.7.11版本的

全部结束后点击刷新,等待jar包等的导入。

之后,我们在controller层写一下返回

这时,我们发现,可以通过http访问

我们发现,无论是直接访问还是通过postman访问都可以得到数据。

那么,现在我们就来编写一个顾客查询。

二、通过spring boot创建顾客查询的项目

准备pojo,mapper,service,controller等各个层。

先在application.properties中配置一下url等

bash 复制代码
spring.application.name=com.example.demo
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=123456

这是我的数据库:

bash 复制代码
create table customer
(
    id       int auto_increment
        primary key,
    username varchar(20) not null,
    jobs     varchar(50) null,
    phone    varchar(13) null
);
1.实体类:
java 复制代码
package com.example.demo.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


@Data
@AllArgsConstructor
@NoArgsConstructor
public class Customer {
    private int id;
    private String username;
    private String jobs;
    private String phone;

}
2.mapper接口
java 复制代码
package com.example.demo.mapper;

import com.example.demo.pojo.Customer;

import java.util.List;

public interface CustomerMapper {
    List<Customer> findAll();
}
3.service服务层接口
java 复制代码
package com.example.demo.service;

import com.example.demo.pojo.Customer;

import java.util.List;

public interface CustomerService {
    List<Customer> findAll();
}
4.service服务层接口实现类
java 复制代码
package com.example.demo.service.impl;

import com.example.demo.mapper.CustomerMapper;
import com.example.demo.pojo.Customer;
import com.example.demo.service.CustomerService;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CustomerServiceImpl implements CustomerService {
    @Autowired
    private CustomerMapper customerMapper;

    public List<Customer> findAll() {
        return customerMapper.findAll();
    }
}
5.mapper映射文件
XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.CustomerMapper">
  <resultMap id="BaseResultMap" type="com.example.demo.pojo.Customer">
    <!--@JPA.Support generated on 2024-05-27 08:48:59.-->
    <!--@Table customer-->
    <id column="id" jdbcType="INTEGER" property="id"/>
    <result column="username" jdbcType="VARCHAR" property="username"/>
    <result column="jobs" jdbcType="VARCHAR" property="jobs"/>
    <result column="phone" jdbcType="VARCHAR" property="phone"/>
  </resultMap>
  <sql id="Base_Column_List">
    <!--@JPA.Support generated on 2024-05-27 08:48:59.-->
    id, username, jobs, phone
  </sql>

  <select id="findAll" resultMap="BaseResultMap">
    select * from customer
  </select>

</mapper>
java 复制代码
package com.example.demo.controller;

import com.example.demo.pojo.Customer;
import com.example.demo.service.CustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping(produces = "application/json;charset=UTF-8")
public class HelloController {

    @Autowired

    private CustomerService customerService;

    @GetMapping("/customer/list")
    public List<Customer> find(){
        return customerService.findAll();
    }
    @GetMapping("hello")
    public String hello(){
        return "hello! springboot";
    }
}

三、可能遇到的问题

在注入时候无法找到bean,我们可以在启动项中添加MapperScan来解析mapper中的文件。在添加后我们发现pom配置文件出错。这时我们需要修改pom文件。之前我们用的是spring的mybatis启动器,我们将spring的mybatis启动器删除,添加springboot的mybatis启动器。

XML 复制代码
<!--SpringBoot的Mybatis启动器-->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.0.1</version>
</dependency>

在配置好后刷新一下Maven

在刷新Maven后修改DemoApplication文件

这样基本上就解决了,可能第一个service实现类问题解决了,建第二个时又出现这种情况,但并不影响项目的运行,这种是正常情况,如果看着难受,重启一下idea就可以了

这时我们再次启动项目。访问一下http://127.0.0.1:8080/customer/list,查看是否有数据。

我们发现在浏览器中是能看到数据的。

我们再次在postman中查询。

我们发现可以查到数据,这样,我们的springboot查询就完成了。

相关推荐
晨曦_子画6 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
南宫生28 分钟前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
Heavydrink42 分钟前
HTTP动词与状态码
java
ktkiko111 小时前
Java中的远程方法调用——RPC详解
java·开发语言·rpc
计算机-秋大田1 小时前
基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
java·论文阅读·spring boot·后端·vue
神里大人1 小时前
idea、pycharm等软件的文件名红色怎么变绿色
java·pycharm·intellij-idea
小冉在学习1 小时前
day53 图论章节刷题Part05(并查集理论基础、寻找存在的路径)
java·算法·图论
代码之光_19802 小时前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端