IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 从零构建一个JAVA(SpringBoot)项目 -> 正文阅读

[Java知识库]从零构建一个JAVA(SpringBoot)项目

从零构建一个JAVA(SpringBoot)项目

1.创建一个Maven项目

1.1打开IDEA,点击创建项目

在这里插入图片描述

1.2 编写Hello World测试项目是否构建成功

在这里插入图片描述

1.3 修改Maven本地仓库地址

在这里插入图片描述

1.4 把项目提交到码云

  • 选择本地仓库

在这里插入图片描述

在这里插入图片描述

  • 提交(commit)到本地仓库

在这里插入图片描述

1.5 推送到远程仓库

  • 快捷键:Ctrl+Shift+K

在这里插入图片描述

  • 复制远程新建的仓库连接并粘贴

在这里插入图片描述

在这里插入图片描述

  • OK后的状态,点击push即可上传到远程仓库

在这里插入图片描述

问题:

1.Push rejected Push to origin/master was rejected

大概原因是:初始化项目时,远程仓库我建了README.md文件,而本地仓库与远程仓库尚未进行文件关联,因此需要将两个仓库的文件进行关联后提交。

1.切换到自己项目所在的目录,右键选择GIT BASH Here,Idea中可使用Alt+F12

2.在terminl窗口中依次输入命令:

git pull

git pull origin master

git pull origin master --allow-unrelated-histories

3.在idea中重新push自己的项目

git push -u origin master -f

2.Git 中 出现couldn’t find remote ref –allow-unrelated-histories的解决办法

当执行git中的“git pull origin master –allow-unrelated-histories”命令时,会出现“ couldn’t find remote ref –allow-unrelated-histories”的错误,输入如下命令即可解决:
git pull --rebase origin master
git push origin maste

2.构建SpringBoot项目架构

2.1创建数据库

在这里插入图片描述

  • 创建表

在这里插入图片描述

在这里插入图片描述

也可以通过sql创建表,添加字段信息,可以按F6切换到sql界面

2.2创建SpringBoot脚手架

  • 配置SpringBoot依赖,编写pom文件
  <?xml version="1.0" encoding="UTF-8"?>
  <project xmlns="http://maven.apache.org/POM/4.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
  
      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>2.3.1.RELEASE</version>
      </parent>
  
      <groupId>org.xph</groupId>
      <artifactId>profile</artifactId>
      <version>1.0-SNAPSHOT</version>
  
  
      <properties>
          <maven.compiler.source>8</maven.compiler.source>
          <maven.compiler.target>8</maven.compiler.target>
      </properties>
  
      <dependencies>
          <!--  web-->
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-web</artifactId>
          </dependency>
          <!-- mysql数据库驱动-->
          <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
              <version>8.0.17</version>
          </dependency>
  <!--        数据库连接池-->
  
          <dependency>
              <groupId>com.alibaba</groupId>
              <artifactId>druid</artifactId>
              <version>1.2.3</version>
          </dependency>
  <!--        fastjson-->
          <dependency>
              <groupId>com.alibaba</groupId>
              <artifactId>fastjson</artifactId>
              <version>1.2.75</version>
          </dependency>
          <dependency>
              <groupId>cn.hutool</groupId>
              <artifactId>hutool-all</artifactId>
              <version>5.5.8</version>
          </dependency>
      </dependencies>
  
  </project>
  • 编写Springboot启动类:

在这里插入图片描述

  • 编写测试Controller类

    package com.xph.demo;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class demoController {
    
        @RequestMapping("/hello")
        public String hello()
        {
            return "Hello World";
        }
    }
    
    

    @RestController

    @RestController = @Controller + @ResponseBody组成,等号右边两位同志简单介绍两句,就明白我们@RestController的意义了:

    • @Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。当然也有语义化的作用,即代表该类是充当Controller的作用
    • @ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端,本人尝试了一下,如果返回的是String类型,则仍然是String

    @RequestMapping

    作用:将请求和处理请求的控制器方法关联起来,建立映射关系。
    位置:
    1、标识类:设置映射请求的请求路径的初试信息
    2、表示方法:设置映射请求的请求路径的具体信息

  • 输入http://localhost:8080/hello,测试

在这里插入图片描述

2.3 SpringBoot连接MYSQL数据库

  • 添加mybatis-plus依赖

    <!--        mybatis-plus-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.4.2</version>
            </dependency>
    
  • 添加完,完整的pom.xml文件如下

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.1.RELEASE</version>
        </parent>
    
        <groupId>org.xph</groupId>
        <artifactId>profile</artifactId>
        <version>1.0-SNAPSHOT</version>
    
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
        <dependencies>
            <!--  web-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!-- mysql数据库驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.17</version>
            </dependency>
    <!--        数据库连接池-->
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.2.3</version>
            </dependency>
    <!--        fastjson-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.75</version>
            </dependency>
    <!--        hutool-all-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>5.5.8</version>
            </dependency>
    <!--        mybatis-plus-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.4.2</version>
            </dependency>
        </dependencies>
    
    </project>
    
  • 配置数据库相关设置

    spring:
      datasource:
        driver-class-name: com.mysql.jdbc.Driver
        username: root
        password: root
        url: jdbc:mysql://localhost:3306/person_profile?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    mybatis-plus:
      mapper-locations: classpath*:/mapper/**/*.xml
      configuration:
        map-underscore-to-camel-case: true
        cache-enabled: true
        lazy-loading-enabled: true
        multiple-result-sets-enabled: true
        log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
      global-config:
        db-config:
          id-type: assign_id
          table-underline: true
        banner: false
        enable-sql-runner: true
      configuration-properties:
        prefix:
        blobType: BLOB
        boolValue: true
    
    
    

    2.4建立规范化的SpringBoot模块

在这里插入图片描述

  • 编写数据库实体类

在这里插入图片描述

package com.xph.moduler.demo.pojo;

import com.baomidou.mybatisplus.annotation.TableName;

import java.security.PrivateKey;
import java.sql.PreparedStatement;

@TableName("student")
public class Student {
    /*
    * 姓名
    * */
    private String name;
    /*
     * 年龄
     * */
    private Integer age;
    /*
     * 编号
     * */
    private Integer id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}
  • 编写Mapper

在这里插入图片描述

package com.xph.moduler.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xph.moduler.demo.pojo.Student;

@Mapper
public interface StudentMapper extends BaseMapper<Student> {
}
  • 编写Service

在这里插入图片描述

package com.xph.moduler.demo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xph.moduler.demo.pojo.Student;

public interface StudentService extends IService<Student> {
}

  • 编写ServiceImpl

在这里插入图片描述

package com.xph.moduler.demo.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xph.moduler.demo.mapper.StudentMapper;
import com.xph.moduler.demo.pojo.Student;
import com.xph.moduler.demo.service.StudentService;
import org.springframework.stereotype.Service;

@Service
public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> implements StudentService {
}

  • 编写Controller

    package com.xph.moduler.demo.controller;
    
    import com.xph.moduler.demo.pojo.Student;
    import com.xph.moduler.demo.service.StudentService;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    @RestController
    public class demoController {
    
        @Resource
        private StudentService studentService;
    
        @RequestMapping("/student")
        public List<Student> getStudentList() {
            return studentService.list();
        }
    
        @RequestMapping("/hello")
        public String hello() {
            return "Hello World";
        }
    }
    
    
  • 输入http://localhost:8080/student

  import java.util.List;
  
  @RestController
  public class demoController {
  
      @Resource
      private StudentService studentService;
  
      @RequestMapping("/student")
      public List<Student> getStudentList() {
          return studentService.list();
      }
  
      @RequestMapping("/hello")
      public String hello() {
          return "Hello World";
      }
  }


  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:41:23  更:2022-07-04 22:42:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 9:20:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码