Springboot项目

《《《《《《《《《《《------     项目建立    ------》》》》》》》》》》》》
1.新建项目,选择Spring Initializer(新版本选择Spring boot)
 我的项目是JDK1.8的,所以在项目SDK就选择了1.8版本的,选择启动服务URL地址为默认
2.Spring Initializer项目设置,项目组就是打开后项目一层层的包名,正常情况下就默认就可以了,但是,类型得选择为Maven类型,然后下一步
3.进入依赖界面,选择Web下的Spring Web,右上角Spring Boot根据自己的情况选择,我选的版本比较低3.3.4版本的SpringBoot ,然后下一步
4.项目命名 demo(根据自己的需求去写项目名),然后点击完成

《《《《《《《《《《《------     项目目录文件说明    ------》》》》》》》》》》》》
1.先把.mvn文件夹删了(包含其下所有东西),再删除mvnw文件和mvnw.cmd文件
2.配置pom.xml文件,系统运行时,首先加载运行的就是它,里面存放着的依赖根据需求配置
①需要修改springboot版本的和java版本的找两个模块,并直接修改版本号,在IDEA中会自动下载更新配置,如果修改后没更新,请关了IDEA重新打开就可以了
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
<!--        springboot版本3.3.4-->
        <version>2.7.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>


    <properties>
        <java.version>8</java.version>
    </properties>


②添加依赖
<!--        加入mybits依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter-test</artifactId>
            <version>2.2.2</version>
            <scope>test</scope>
        </dependency>

<!--        mysql驱动包   -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>
<!--        AOP的包       -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!-- FastJson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.83</version>
        </dependency>

③然后打开src源码路径下的包 com.dx.wlmq
    在该包下创建
        controller(控制层)、
        domain(Dao层  存放实体类)、
        mapper(Dao层  存放接口,接口下是要实现的抽象方法)
        service(业务层 存放业务实现的接口和实现类) 在其下有一个impl的包
        DemoApplication是Springboot的启动类,必须存放于其他所有类上层包

        
④在resources包下创建一个名为mapper的包,用于存放.xml文件(例如RolesMapper.xml),改文件写的都是Dao层的sql语句,查询的话别忘了属性映射,也别忘了修改命名空间的接口位置包名
<?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.dx.wlmq.mapper.SuppliersMapper">
 <resultMap id="suplist" type="com.dx.wlmq.domain.Supplier">
        <id property="supplierId" column="supplier_id"></id>
        <id property="supplierName" column="supplier_name"></id>
        <id property="supplierPerson" column="supplier_person"></id>
        <id property="supplierPhone" column="supplier_phone"></id>
        <id property="supplierAddress" column="supplier_address"></id>
        <id property="supplierUserId" column="supplier_user_id"></id>
        <id property="supplierBank" column="supplier_bank"></id>
        <id property="supplierBanknum" column="supplier_banknum"></id>
        <id property="supplierBankperson" column="supplier_bankperson"></id>
        <id property="supplierRemark" column="supplier_remark"></id>
        <id property="supplierVersion" column="supplier_version"></id>
        <id property="createTime" column="create_time"></id>
        <id property="updateTime" column="update_time"></id>
    </resultMap>
<select id="Supplierlist" resultMap="suplist">
        SELECT *
        FROM `or_supplier`;
    </select>
</mapper>

⑤配置resource下的application.properties文件,里面规定本地访问的端口修改,源数据配置(一定要确定表在哪个数据库),实体对象映射,mapper的加载文件映射,以及驼峰命名规则是否启用

《《《《《《《《《《《------     实现步骤    ------》》》》》》》》》》》》

1.先写domain里面的实体类
遇见Date类型的属性时要加上以下两个注释,确保经过JSON输出后,反序列化为时间格式》每出现一个Date就需要重新写一个
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
 都写好后生成Get和Set方法,toString方法,全部参数构造方法和无参构造方法

2.书写mapper里面的接口,并在接口中写出要实现的方法
每个mapper接口上一定要添加@Mapper(作用:”不知道“)

3.书写Service层
在service包下创建名为 XXXsService 接口,并将其方法mapper下的方法复写一边
在service包下创建impl包,并在该包下创建 XXXsService 接口的实例
实例中,加上注释@Service("XXXsService")作为服务层,双引号里面写的是实现接口的名字,但是首字母小写;例如:@Service("addresssService")
并在下方创建一个@Resource(name="addresssImpl"),addresssImpl是Dao层的接口名字,首字母小写并创建一个  private AddresssImpl addresssImpl;来调用Dao层,方法中返回实例addresssImpl的方法:return addresssImpl.Addressadd(address);

4.书写Controller层
在controller包下添加XXXsController类,
先添加@Controller声明其为控制层
在添加一个@RequestMapping("/roles") 表示第一层路径

在类中要调用服务层 增添注解 @Resource(name = "rolesService") ,以此调用服务层rolesService是服务层接口的名字,首字母小写,
并声明一个RolesService rolesService;来调用服务层


服务层的方法在书写前先声明路径,请求方法,以及文本类型
注解如下:
@RequestMapping(value = "/list", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")
然后再添加注解:
@ResponseBody
最后书写方法,定义响应包内容,并return 返回一个json类型的数据体
    public Object index12(HttpServletResponse response,@RequestBody Role role) {
        response.setContentType("text/html;charset=UTF-8");
        return JSON.toJSONString(rolesService.Roleadd(role));
    }
当参数中有实体类的时候,要添加注解@RequestBody

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024江苏省赛E. Divide

补题链接 题目大意: 每次操作会把区间内最大值除以2&#xff0c;q次询问&#xff0c;问[l,r]操作k次后的结果是什么 分析: 一道主席树的题目,可以先最整个区间一直进行除以2的操作&#xff0c;问区间[l,r]操作后结果&#xff0c;其实就可以转化为求区间第k1大的结果,反转一下…

常用DateUtils工具类

package com.gh.common.utils; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** 类描述&#xff1a; ClassName DateUtils Description TODO …

2024.10月16日- 关于Vue2(1)

一 VUE概述与环境搭建 1.1 Vue概述 1.1.1 简介 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款轻量级的用于构建用户界面的 渐进式的JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高…

入门!Linux 常见指令及权限管理全面指南

Linux 操作系统在现代计算机应用中扮演着重要的角色&#xff0c;广泛用于服务器、桌面系统、嵌入式设备及云计算平台等领域。理解和掌握 Linux 常见指令及权限管理机制&#xff0c;是每一位系统管理员和开发人员的基础技能。本文将详细介绍 Linux 系统的基本背景、常用指令、权…

桂林旅游一点通:SpringBoot平台应用

3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架&#xff0c;JAVA作…

iOS IPA上传到App Store Connect的三种方案详解

引言 在iOS应用开发中&#xff0c;完成开发后的重要一步就是将IPA文件上传到App Store Connect以便进行测试或发布到App Store。无论是使用Xcode进行原生开发&#xff0c;还是通过uni-app、Flutter等跨平台工具生成的IPA文件&#xff0c;上传到App Store的流程都是类似的。苹果…

package.json 里的 dependencies和devDependencies区别

dependencies&#xff08;依赖的意思&#xff09;&#xff1a; 通过 --save 安装&#xff0c;是需要发布到生产环境的。 比如项目中使用react&#xff0c;那么没有这个包的依赖就会报错&#xff0c;因此把依赖写入dependencies npm install <package-name>// 缩写 np…

Android Framwork从零上手(一)下载编译AOSP源码

Android Framwork从零上手&#xff08;一&#xff09;下载编译AOSP源码 什么是AOSP硬件要求虚拟机安装开发环境搭建下载编译源码下载 repo 工具初始化仓库并同步远程代码编译源码运行模拟器 Android 系统开发涉及的知识面很广&#xff0c;代码量大&#xff0c;复杂度高&#xf…

传感器信号的存储和传输

对于大量传感器信号的存储和传输&#xff0c;可以采用以下存储和检测方案&#xff0c;以满足实时性、数据量、可靠性和传输带宽的需求&#xff1a; 1. 边缘计算 边缘计算是一种将计算和数据存储靠近数据源&#xff08;如传感器&#xff09;进行处理的方案。这可以减少数据传…

springboot扩展点都有哪些?

在Spring Boot中&#xff0c;扩展点指的是能够自定义或增强Spring Boot功能的机制。这些扩展点允许开发者在Spring Boot的基础设施之上做定制化配置、行为修改或增强。Spring Boot主要有以下几类扩展点&#xff1a; 1. ApplicationRunner 和 CommandLineRunner 这两个接口允许…

6、ES6

文章目录 一.关于ES6二.关于变量声明let声明变量const 声明常量 三.变量的解构赋值四.字符串的扩展五.函数的扩展函数默认参数rest参数箭头函数(函数的新写法) 六.数组的扩展七.对象的扩展语法上的简化对象的解构赋值 八.Symbol&#xff1a;新的数据类型(类似于字符串)独一无二…

CTFHUB技能树之SQL——时间盲注

开启靶场&#xff0c;打开链接&#xff1a; 说明这关对所有信息都做了统一输出&#xff0c;换成延时注入试试 输入&#xff1a; 1 and sleep(15) &#xff08;这里不知道为什么加上--倒是会影响sleep()函数的触发&#xff0c;从而没有延时感&#xff09; 可以观察到有明显的延…

【小白学机器学习16】 概率论的世界观2

目录 一 从正态分布说起 1.1 正态分布是自然分布&#xff0c;是客观 1.2 万物不齐 1.3 中庸 1.4 动态平衡 正态分布&#xff0c;概率论都是一种世界观 一 从正态分布说起 1.1 正态分布是自然分布&#xff0c;是客观 世界是客观的&#xff0c;是不以人们的意志想法为转…

vue3+ts+vite--路由跳转,params传参好像丢失了?

前言 相信大家一定写过后台管理系统&#xff0c;有一个很普遍的功能&#xff0c;就是点击编辑&#xff0c;根据id&#xff0c;跳转到相对应的编辑页面&#xff0c;id是通过路由params传递过去了&#xff0c;但是还有一个需求是要将父组件的名称也传递过去 &#xff0c;过程特别…

宁波市网站建设让你的网站更吸引人

宁波市网站建设让你的网站更吸引人 在数字化时代&#xff0c;拥有一个吸引人的网站已成为企业成功的关键因素之一。尤其在宁波市&#xff0c;随着经济的发展和互联网的普及&#xff0c;越来越多的企业意识到网站建设的重要性。那么&#xff0c;如何才能让你的网站更加吸引人呢&…

贪心day7

文章目录 前言使每位学生都有座位的最少移动次数分发饼干运动员和训练师的最大匹配数检查一个字符串是否可以打破另一个字符串优势洗牌 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;文章题目大多来自于 leetcode&#x…

webstorm 编辑器配置及配置迁移

1.下载地址 WebStorm&#xff1a;JetBrains 出品的 JavaScript 和 TypeScript IDE 其他版本下载地址 2.安装 点击下一步安装&#xff0c;可根据需要是否删除已有版本 注意&#xff1a; 完成安装后需要激活 3.设置快捷键 以下为个人常用可跳过或根据需要设置 如&#xff1a…

性能测试概念篇

一、性能测试(概念&#xff09; 为了发现系统性能问题或获取系统性能相关指标而进⾏的测试 ⼀般在真实环境、特定负载条件下&#xff0c;通过⼯具模拟实际软件系统的运行及其操作&#xff0c;同时监控性能各项指标&#xff0c;最后对测试结果进行分析来确定系统的性能情况 常…

汽车免拆诊断案例 | 2023款零跑C01纯电车后备厢盖无法电动打开和关闭

故障现象  一辆2023款零跑C01纯电车&#xff0c;累计行驶里程约为2万km&#xff0c;车主进厂反映&#xff0c;后备厢盖无法电动打开和关闭。 故障诊断  接车后试车&#xff0c;操作后备厢盖外侧、驾驶人侧及遥控钥匙上的后备厢盖开启按钮&#xff0c;可以听到后备厢盖解锁的…

【设计模式】深入理解Python中的适配器模式(Adapter Pattern)

深入理解Python中的适配器模式&#xff08;Adapter Pattern&#xff09; 在软件开发中&#xff0c;常常会遇到需要让不兼容的类或接口协同工作的问题。适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;通过提供一个包装器对象&#xff0c;…