服务端第一次课—hello world和mysql访问——SpringBoot

服务端第一次课-—hello world和mysql访问——SpringBoot

初识SprintBoot


上图来自叶波甸学姐的pdf,作为一个新手来说,可以让我大体了解到我要写的代码主要工作在哪一层,并且了解自己以后需要那些部分的知识点。

实现hello world

1.首先下载ide,这边用的是jetBrain的IntelliJ IDEA 2022.1(学生可免费获取使用许可,详见通过学信网认证的方法
2.保证电脑本地有JAVA JDK1.8及以上
3.下载Postman

接下来我们打开IDEA,新建一个项目,new project, 点左边栏的Spring Initializr像下面这样
请添加图片描述
之后的像下面这样选
请添加图片描述
然后创建就好了。

之后会有一些依赖需要下载

maven项目结构

Maven 是 Apache组织下的一个跨平台的项目管理工具,
它主要用来帮助实现项目的构建、测试、打包和部署。
Maven 提供了标准的软件生命周期模型和构建模型,
通过配置就能对项目进行全面的管理。

src/main/java 程序开发以及主程序入口,java源代码
DemoApplication:项目启动类
src/main/resourses 配置文件,资源文件
src/test/java 测试程序
pom.xml:包含项目所需依赖

总的来说就是
main就是项目主体目录根,其下的java是源代码目录,resource是所需资源目录,filters是资源过滤文件目录,config是配置文件目录根

下面来编写helloWorld代码

创建之后我们在src/main/java目录下的com.example.demo下创建controller包,再创建UserController.java文件

里面的UserController类里面写一个

@GetMapping("/hello")
public String hello(){return "hello world";}

然后运行,之后在postman里用http://localhost:5001/hello就能访问了,之后页面里就会出现hello world
端口号可以在application.properties里修改

mysql访问,获取用户数据

请添加图片描述
配置Mybatis

Mybatis简要介绍
Mybatis是一个基于Java的持久层框架, 是一个对数据库表和POJO java对象做映射的框架。它最重要的两个特定是:
1.解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,
更易单元测试。Sql和代码的分离,提高了可维护性。
2.提供xml标签,支持编写动态sql。

controller层: 一般都是写接口提供给前端或者后端其他服务使用的,一般后端的接口都是写在 Controller层,Controller层的接口里面不写业务逻辑,主要是调用Service层的业务逻辑方法
dao层: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件
model层: 里写的是数据模型的代码与数据库中的属性值基本保持一致。
service层存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。


了解各层是写什么的了,之后就照着学姐的逻辑走了一遍,途中出现了很多bug,大多都是各个小地方的语句出现问题,什么注释没写,什么判断的时候出错。最后通过学姐的帮助,总算是解决了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当然,我很愿意为您实现一个使用Spring Boot框架的聊天程序的服务端和客户端。 首先,您需要安装Spring Boot CLI,并在命令行中创建一个Spring Boot项目。然后,您需要添加Web和Socket.IO等相关依赖项,这些依赖项可以帮助您实现聊天功能。 服务端代码: ``` @ServerEndpoint("/chat") public class ChatServer { private static Set<Session> clients = new HashSet<>(); @OnOpen public void onOpen(Session session) { clients.add(session); broadcast("User joined the chat"); } @OnClose public void onClose(Session session) { clients.remove(session); broadcast("User left the chat"); } @OnMessage public void onMessage(String message, Session session) { broadcast(message); } private void broadcast(String message) { for (Session client : clients) { try { client.getBasicRemote().sendText(message); } catch (IOException e) { e.printStackTrace(); } } } } ``` 客户端代码: ``` <!DOCTYPE html> <html> <head> <title>Chat</title> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/socket.io-client@2/dist/socket.io.js"></script> </head> <body> <div id="message-container"></div> <input type="text" id="message-input" /> <button id="send-button">Send</button> <script type="text/javascript"> var socket = io('http://localhost:8080/chat'); socket.on('connect', function() { console.log('Connected'); }); socket.on('disconnect', function() { console.log('Disconnected'); }); socket.on('message', function(message) { var container = document.getElementById('message-container'); var messageElement = document.createElement('div'); messageElement.innerText = message; container.appendChild(messageElement); }); var input = document.getElementById('message-input'); var button = document.getElementById('send-button'); button.addEventListener('click', function() { socket.emit('message', input.value); input.value = ''; }); </

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值