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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自己掏耳朵怎么弄干净?清洁耳朵掏耳神器推荐!

耳屎是人体的分泌物之一&#xff0c;很多人选择用传统挖耳勺或者棉签进行掏耳&#xff0c;殊不知这种行为会将耳屎越捅越深&#xff0c;甚至还会捅穿鼓膜&#xff01;那么缺少别人帮助的情况下&#xff0c;自己掏耳朵怎么弄干净呢&#xff1f;现在小编就给大家分享一款掏耳神器…

家庭事务管理系统|基于java和vue的家庭事务管理系统设计与实现(源码+数据库+文档)

家庭事务管理系统 目录 基于java和vue的家庭事务管理系统 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff0c;阿里云…

React综合指南(三)

#1024程序员节&#xff5c;征文# 41、hooks的使用有什么注意事项 在使用Hooks的过程中&#xff0c;需要注意的两点是&#xff1a; 不要在循环&#xff0c;条件或嵌套函数中调用Hook&#xff0c;必须始终在React函数的顶层使用Hook。这是因为React需要利用调用顺序来正确更新…

配置nginx服务通过ip访问多网站

文章目录 第一种方法第二种方法 先关闭防火墙 # systemctl stop firewalld # setenforce 0第一种方法 #mntui 第二种方法 # vim /etc/nginx/conf.d/test_ip.conf # cat /etc/nginx/conf.d/test_ip.conf server {listen 192.168.234.100:80;#server_nameroot /test/100;loca…

基于neo4j的体育运动员问答问答系统

你是不是也为毕业项目伤透了脑筋&#xff1f;我们为你准备了一个创新且实用的技术项目——基于neo4j的体育运动员问答系统。无论你是对图数据库技术感兴趣&#xff0c;还是想在自然语言处理方面有所突破&#xff0c;这套系统都能让你在答辩时脱颖而出&#xff01; &#x1f3a…

filebeat接入nginx和mysql获取日志

下载nginx &#xff08;1&#xff09; 直接下载 yum install nginx -y&#xff08;2&#xff09;查看状态启动 systemctl start nginx systemctl status nginx&#xff08;3&#xff09;配置文件检查 nginx -t&#xff08;4&#xff09;端口检查 netstat -tulpn | grep :80&am…

Mybatis 中<where>的用法注意事项(附Demo)

目录 前言1. 问题所示2. 基本知识 #1024程序员节 | 征文# 前言 对于Java的基本知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目】实战CRUD的功能整理&#xff08;持续更新&#xff09; 先从实战问…

uniapp使用html2canvas时,页面内的image元素模糊

不废话很简单只需要将image改成img就行 改之前 改之后 原因可能是因为uniapp里面的image标签做了某种处理

基于Java+Springboot+Vue开发的酒店客房预订管理系统

项目简介 该项目是基于JavaSpringbootVue开发的酒店客房预订管理系统&#xff08;前后端分离&#xff09;&#xff0c;这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Java…

监控易监测对象及指标之:Kafka中间件JMX监控指标解读

监控易作为一款功能强大的监控软件&#xff0c;旨在为企业提供全方位的IT系统监控服务。其中&#xff0c;针对Kafka中间件的JMX监控是监控易的重要功能之一。本文将详细解读监控易中Kafka的JMX监控指标&#xff0c;帮助企业更好地理解并运用这些数据进行系统性能调优和故障排查…

开启RefCell debug_refcell feature查看借用冲突位置

文章目录 背景分析解决方法 本文解决两个问题&#xff1a; 开启rust源码库中的feature开启debug_refcell feature的方法查看 borrow 借用冲突的位置 背景 使用 RefCell 来实现内部可变性是在 Rust 开发中常用的方式&#xff0c;但是当逻辑复杂起来&#xff0c;常常会有可变借…

word建立目录以及修改页码

1、为word建立新的目录 &#xff08;1&#xff09;选中word中的标题设置为第几级标题&#xff0c;将所有的标题均设置完成。最后可以鼠标右击标题&#xff0c;对不同的标题字体大小等进行设置。右击-->修改-->格式-->段落 &#xff08;2&#xff09;在word中插入新的…

算法01----移动零(C++)

题目展示 算法原理 我们这里要用到的算法是双指针移动&#xff0c;和我们之前学的快排的核心思想是一样的。我们看看怎么做吧。我会以图片的形式将我的思路告知大家。 这就是整个题目的整体思想算法&#xff0c;大家理解一下&#xff0c;其实这道题目还是很简单的。 代码编写…

【C++ 11】移动构造函数

文章目录 【 1. 问题背景&#xff1a;深拷贝引起的内存开销问题 】【 2. 移动构造函数 】【 3. 左值的移动构造函数: move 实现 】 【 1. 问题背景&#xff1a;深拷贝引起的内存开销问题 】 拷贝构造函数 在 C 11 标准之前&#xff08;C 98/03 标准中&#xff09;&#xff0c;…

Vue脚手架学习 vue脚手架配置代理、插槽、Vuex使用、路由、ElementUi插件库的使用

目录 1.vue脚手架配置代理 1.1 方法一 1.2 方法二 2.插槽 2.1 默认插槽 2.2 具名插槽 2.3 作用域插槽 3.Vuex 3.1 概念 3.2 何时使用&#xff1f; 3.3 搭建vuex环境 3.4 基本使用 3.5 getters的使用 3.6 四个map方法的使用 3.6.1 mapState方法 3.6.2 mapGetter…

LabVIEW中句柄与引用

在LabVIEW中&#xff0c;句柄&#xff08;Handle&#xff09; 是一种用于引用特定资源或对象的标识符。它类似于指针&#xff0c;允许程序在内存中管理和操作复杂的资源&#xff0c;而不需要直接访问资源本身。句柄用于管理动态分配的资源&#xff0c;如队列、文件、网络连接、…

[python flask 数据库ORM操作]

一、链接数据库 我们选择的框架是flask-sqlAlchemy 这个框架是对pymysql的封装。 连接数据库 #导入包 from flask_sqlalchemy import SQLAlchemy #创建flask app对象 app Flask(__name__) #设置配置信息 HOSTNAME "localhost" PORT 3306; USERNAME "root&…

在C++中比大小

关于min()函数和max()函数: min()、max()这两个函数如果需要使用&#xff0c;要在程序头文件中加上<algorithm>库就可以使用这个函数了 #include <algorithm>min()函数是比较数中哪一个数最小&#xff0c;就返回最小的数&#xff0c;而max()函数则是比较数中哪一个…

计算机毕业设计Flask+Vue.js空气质量预测 空气质量可视化 空气质量分析 空气质量爬虫 大数据毕业设计 Hadoop Spark

《FlaskVue.js空气质量预测与可视化系统》开题报告与任务书 一、研究背景与意义 随着工业化进程的加速和城市化水平的不断提高&#xff0c;空气质量问题日益成为全球关注的焦点。空气污染不仅严重影响着人们的身体健康&#xff0c;如增加呼吸系统疾病、心血管疾病等风险&…

商场楼宇室内导航系统

商场楼宇室内导航系统 本文所涉及所有资源均在传知代码平台可获取 文章目录 商场楼宇室内导航系统效果图导航效果图查看信息数据加载加载模型模型选型处理楼层模型绑定店铺创建店铺名称动态显示隐藏2d元素空气墙查看信息楼梯导航效果图 导航效果图 查看信息 数据加载 因为是一…