MVC项目案例

2023-11-14

MVC项目

1、需求

访问链接: http://localhost:8080/car/get
得到JSON数据: {“name”:“保时捷”,“color”:“红色”,“price”:641000.0}
在这里插入图片描述

2、项目结构

cn.tedu — 放启动类,存子包
cn.tedu.service — 子包,放spring层的代码,接口 + 实现类
cn.tedu.controller — 子包,放springmvc的代码,controller负责接受请求做出响应
cn.tedu.pojo — 子包,放Model层的代码,用来封装数据
在这里插入图片描述
在这里插入图片描述

3、制作前端网页

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试 框架整合</title>
	</head>
	<body>
		<a href="http://localhost:8090/car/get">点我提交请求</a>
	</body>
</html>

4、制作启动类,RunApp.java

package cn.tedu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;


@SpringBootApplication //会进行资源的自动扫描
//启动类:@EnableAutoConfiguration
// 默认开启包扫描,基于启动类所在的包
public class RunApp{
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class);
    }

}

5、修改端口号

在这里插入图片描述

#修改端口号  k:v
server:
  port: 8090

6、创建Car类,Car.java

package cn.tedu.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.stereotype.Component;

//lombok注解,替代以前的get set tostring....
@Data
@NoArgsConstructor //无参构造
@AllArgsConstructor //全参构造
@Accessors(chain = true) //开启链式编程
@Component //Sring 提供的ioc,管理对象的
public class Car {
    private Integer id;
    private String name;
    private String type;
    private String color;
    private Double price;
}

7、创建CarController类,CarController.java

package cn.tedu.controller;

import cn.tedu.pojo.Car;

import cn.tedu.service.CarServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController //接受请求
@RequestMapping("car") //规定了url和类的匹配方式,从哪里访问
public class CarController {
   //描述两个类的关系
   @Autowired
   CarServiceImpl carService;

   @RequestMapping("get")
    public Car get(){
       return carService.get(); //调用service层返回数据
    }
}

8、创建CarService接口

package cn.tedu.service;

import cn.tedu.pojo.Car;

/*  接口  */
//接口里的方法都是抽象方法,都可以简写,都是public abstract的
public interface CarService {
    //获取汽车数据
    //public abstract Car get();    等于下一行代码
    Car get();
}

9、创建CarServiceImpl实现类,CarServiceImpl.java

package cn.tedu.service;

import cn.tedu.pojo.Car;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;

/* 接口的实现类 */
//实现类用来实现接口,而且可以多实现
@Service //和@Component一样,就是ioc的功能
@Component
public class CarServiceImpl implements CarService {

    //实现类实现接口后,要重写抽象方法,否则是一个空
    //重写,子类的权限 >= 父类的权限
    @Override
    public Car get() {
        Car c =  new Car();

        //lombok提供的链式编程
        c.setId(10).setName("BMW").setType("Q5").setColor("宝马蓝").setPrice(10.9);

        return c;
    }
}

10、测试

在这里插入图片描述

10.1)启动服务器

在这里插入图片描述

10.2)打开网页访问服务器,服务器成功返回了数据

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC项目案例 的相关文章

  • 如何在日期选择器中设置不在当前月份的单元格的样式

    我目前正在为我的 JavaFX 应用程序制作注册表 问题是 当日期选择器中的单元格不在页面的月份上时 我想让该单元格变灰 让我们看看我当前的日期选择器 我的日期选择器 正如您所看到的 我希望下个月的日期 27 日 28 日 30 日以及 1
  • Java 中的 XPath 节点集

    我在 eclipse 中有这段代码 NodeSet nodes NodeSet xPath evaluate expression inputSource XPathConstants NODESET 它给我 NodeSet 上的编译时错误
  • 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

    我各位 我正在使用 junit 和 selenium web 驱动程序 2 28 问题是 如果我运行成功的测试用例 Web 驱动器能够关闭 Firefox 实例 但是当测试用例失败时 Selenium Web 驱动器无法关闭 Firefox
  • JavaMail Gmail 问题。 “准备启动 TLS”然后失败

    mailServerProperties System getProperties mailServerProperties put mail smtp port 587 mailServerProperties put mail smtp
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • 在浏览器中点击应用程序时播放框架挂起

    我正在 Play 中运行一个应用程序activator run 也许 5 次中有 3 次 它会挂起 当我去http localhost 9000 它就永远坐在那里旋转 我看到很多promise timed out错误也 我应该去哪里寻找这个
  • java.io.IOException: %1 不是有效的 Win32 应用程序

    我正在尝试对 XML 文档进行数字签名 为此我有两个选择 有一个由爱沙尼亚认证中心为程序员创建的库 还有一个由银行制作的运行 Java 代码的脚本 如果使用官方 认证中心 库 那么一切都会像魅力一样进行一些调整 但是当涉及到银行脚本时 它会
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • Java中未绑定通配符泛型的用途和要点是什么?

    我不明白未绑定通配符泛型有什么用 具有上限的绑定通配符泛型 stuff for Object item stuff System out println item Since PrintStream println 可以处理所有引用类型 通
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • Windows 上的 Nifi 命令

    在我当前的项目中 我一直在Windows操作系统上使用apache nifi 我已经提取了nifi 0 7 0 bin zip文件输入C 现在 当我跑步时 bin run nifi bat as 管理员我在命令行上看到以下消息 但无法运行
  • 运行 Jar 文件时出现问题

    我已将 java 项目编译成 Jar 文件 但运行它时遇到问题 当我跑步时 java jar myJar jar 我收到以下错误 Could not find the main class myClass 类文件不在 jar 的根目录中 因
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的
  • Swagger/Openapi-Annotations:如何使用 $ref 生成 allOf?

    我正在生成 Rest 端点 包括添加OpenAPI Swagger对生成的代码进行注释 虽然它对于基本类型运行得很好 但我在自定义类方面遇到了一些问题 现在我有很多自定义类的重复架构条目 使用 Schema 实现 MyClass class

随机推荐

  • angular中的组件嵌套

    1 创建3个包 header module main module sliderbar module 2 在header module创建三个组件 header center heder left header right 3 z将三个组件
  • BP神经网络回归预测-MATLAB代码实现(代码完整直接可用,注释详细,可供新手学习)

    一 前言 代码获取 私信或附评论区 BP神经网络预测回归MATLAB代码 代码完整可用 复制后即可运行使用 操作简单 1 BP神经网络的知识想必不用再过多介绍 本篇文章从实际应用的角度 针对新手应用者 针对不需要过多了解BP 但是需使用MA
  • Java-主流框架—(4)SpringMVC

    1 SpringMVC概述 三层架构 表现层 负责数据展示 业务层 负责业务处理 数据层 负责数据操作 MVC Model View Controller 一种用于设计创建Web应用程序表现层的模式 Model 模型 数据模型 用于封装数据
  • javaScript基础面试题 --- JS作用域

    面试10家公司 得有8家会问到作用域的题 所以说JS的作用域一定要弄清楚 非常重要 1 除了函数之外 JS没有块级作用域 2 作用域链 内部可以访问外部的变量 但是外部不能访问内部变量 如果内部有 优先内部的 如果内部没有 就先查找外部的
  • 基于深度学习的恶意软件检测

    深度神经网络可以有效地挖掘原始数据中的潜在特征 而无需大量数据预处理和先验经验 神经网络在计算机视觉 语音识别和自然语言处理方面取得了一系列的成功 当然 成功的原因是多方面的 其中的一个因素就是神经网络具有从诸如像素或单个文本字符之类的原始
  • 【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(九)

    整理不易 希望对各位学习软件测试能带来帮助 软件测试知识持续更新 第八章 自动化测试高级应用 第一节 自动发邮件功能 8 1 1 文件形式的邮件 8 1 2 HTML 形式的邮件 8 1 3 获取测试报告 8 1 4 整合自动发邮件功能 第
  • 数据结构中二叉树实现及部分操作

    谈二叉树之前 我们先来看看树的定义 树 由N N gt 0 个结点构成的集合 对N gt 1的树 1 有一个特殊的结点 称为根结点 根节点没有前驱结点 2 除根节点外 其余结点被分成M M gt 0 个互不相交的集合T1 T2 Tm 其中每
  • 蓝桥杯--省赛题4

    今天来看道蓝桥杯的动态规划题 题目描述 小蓝在一个 nn 行 mm 列的方格图中玩一个游戏 开始时 小蓝站在方格图的左上角 即第 11 行第 11 列 小蓝可以在方格图上走动 走动时 如果当前在第 rr 行第 cc 列 他不能走到行号比 r
  • microsoft office 卸载不了

    microsoft office 包括常用的office组件 project visio 等的卸载不是件轻松事 有可能卸载不了 右不会有任何提示 微软也知道自己的东西不好卸载 于是 提供的fix工具 office 2010 的fix工具如下
  • 【开机启动】win11开机启动软件,win11开机启动bat脚本(开机启动vbs文件)

    目录 编辑bat脚本 编辑vbs脚本 让vbs脚本开机启动 编辑bat脚本 简单介绍一下 是注释前缀 echo 是输出内容到控制台 等同于print echo off可以关闭路径显示 自己尝试写和不写就行 timeout t num num
  • 0126 线性表

    目录 2 线性表 2 1线性表的定义和基本概念 2 1部分习题 2 2线性表的顺序表示 2 2部分习题 2 3线性表的链式表示 2 3部分习题 2 线性表 2 1线性表的定义和基本概念 2 1部分习题 1 线性表是具有n个 的有限序列 A
  • 用看黑丝的时间 我搞懂了JVM内存

    JVM内存区域主要分为线程私有区域 程序计数器 虚拟机栈 本地方法区 线程共享区域 Java堆 方法区 直接内存 1 程序计数器 线程私有区域 是一块较小的内存空间 是当前线程所执行字节码的行号指示器 每条线程都有一个独立的程序计数器 如果
  • 【总结】用树形图和剪枝操作理解完全背包问题中组合数和排列数问题

    文章目录 TOC 前言 一 完全背包中的排列数和组合数问题 1 1 问题来源 1 2 两个for循环先后顺序分析 1 2 1 先遍历背包后遍历物品得到排列数 1 2 2 先遍历物品后遍历背包得到组合数 小结 前言 建议先看理清0 1背包问题
  • Linux切换用户/超级用户权限

    在Linux操作系统 CentOS8 上安装yum工具时出现了问题 错误为 Error This command has to be run with superuser privileges under the root user on
  • npm切换源,nrm安装、配置及使用

    文章目录 人工智能福利文章 1 速度太慢 2 手动切换太麻烦 3 切换npm源推荐使用nrm 3 1 nrm安装方法 3 2 查看可选npm源 3 3 切换npm源 3 4 增加npm源 3 5 删除npm源 3 6 测试npm源速度 脑筋
  • 【UE4】【C++】PlayerController、AIController获取玩家对应的Pawn

    先创建一个基本的C 类 Tank 因为要对Tank进行各种操作 移动 寻找目标 所以选择了Pawn类型 PlayerController 再创建一个C 类 TankPlayerController 用以控制玩家操作的对象 Tank 创建好后
  • 创业公司融资,股权是如何一步步被稀释的?

    转自 https 36kr com p 5054730 融资过程中 股权的稀释总是难免的 本文作者 新元 股书 Kapbook 微信ID Kapbook 完整的股权激励在线解决方案 很多人并没有意识到 他们在加盟公司时拿到的期权比例 并非最
  • 记一次事务报错问题 Transaction synchronization is not active

    问题场景 在一次请求的返回结果中出现了这个错误信息 Transaction synchronization is not active 意思是 事务同步器没有激活 看着不像是业务代码里返回的提示 猜测是spring事务框架报出来的异常没有被
  • 基于SRS的视频直播服务器搭建

    srs提供的一个demo实例 包括实时流的rtmp播放 hls播放 视频会议 ffmpeg视频变换 jwplayer播放 OSMF播放 vlc播放等等功能 下面是在Centos 6 x环境下的编译搭建流程 1 下载或更新源码或者使用git更
  • MVC项目案例

    MVC项目 1 需求 访问链接 http localhost 8080 car get 得到JSON数据 name 保时捷 color 红色 price 641000 0 2 项目结构 cn tedu 放启动类 存子包 cn tedu se