首页 > 其他分享 >Spring Boot起步,CRUD、错误处理与宝塔部署

Spring Boot起步,CRUD、错误处理与宝塔部署

时间:2024-09-27 09:53:13浏览次数:3  
标签:java Spring 代码 CRUD springframework org import 错误处理 public

新建一个Spring Boot项目

这里使用的idea编辑器。快速生成java 项目。

生成项目目录


java

代码解读

复制代码

java-app: 项目的根目录。 .idea: IntelliJ IDEA 的项目配置文件夹。 .mvn: Maven 的相关配置。 src: 源代码目录。 main: 主代码部分。 java: Java 源代码文件夹。 com: 包名的顶层目录。 example: 示例包。 javaapp: 项目特定的包。 JavaAppApplication.java: 主应用程序类。 resources: 资源文件夹。 static: 静态资源(如 CSS、JS 文件)。 templates: 模板文件。 application.properties: 配置文件。 test: 测试代码部分。 java: 测试 Java 源代码文件夹。 com: 包名的顶层目录。 example: 示例包。 javaapp: 项目特定的包。 JavaAppApplicationTests.java: 测试类。 .gitignore: Git 忽略文件。 HELP.md: 项目帮助文档。 mvnw: Maven Wrapper 脚本。 mvnw.cmd: Windows 下的 Maven Wrapper 脚本。 pom.xml: Maven 项目的配置文件。

主程序代码


java

代码解读

复制代码

package com.example.javaapp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; //启动类 @SpringBootApplication public class JavaAppApplication { public static void main(String[] args) { SpringApplication.run(JavaAppApplication.class, args); } }

  1. 包声明:

java

代码解读

复制代码

package com.example.javaapp;

这行代码定义了类所在的包,通常用于组织类和避免命名冲突。
2. 导入语句:


java

代码解读

复制代码

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

这些导入语句引入了 Spring Boot 的核心类。SpringApplication 用于启动应用程序,@SpringBootApplication 是一个组合注解,包含了多个功能(如自动配置、组件扫描等)。
主类:
这是应用程序的主类,使用 @SpringBootApplication 注解标记,表示这是一个 Spring Boot 应用。
主方法:


java

代码解读

复制代码

public static void main(String[] args) { SpringApplication.run(JavaAppApplication.class, args); }

main 方法是 Java 应用程序的入口点。SpringApplication.run 方法启动 Spring 应用程序,传入当前类和命令行参数。
整体上,这段代码定义了一个简单的 Spring Boot 应用程序的启动结构。

添加mySql数据库信息


java

代码解读

复制代码

server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/springboot spring.datasource.username=springboot spring.datasource.password=springboot

启动第一个程序

报错了

解决报错,缺少了MySql依赖项

pom.xml添加mysql依赖配置


xml

代码解读

复制代码

<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.31</version> <scope>runtime</scope> </dependency>

报错信息消失

开始启动

重新启动项目

编写第一个接口

在同级目录下面建立一个controller文件夹。然后建立一个 JavaAppController.java 文件的控制器。

定义RESTful API控制器

引入


java

代码解读

复制代码

import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;

  1. import org.springframework.web.bind.annotation.GetMapping;:导入GetMapping注解,这个注解用于处理HTTP GET请求。它可以将一个方法映射到特定的URL路径。
  2. import org.springframework.web.bind.annotation.RestController;:导入RestController注解,这个注解用于标识一个类为RESTful控制器。它的作用是将控制器中的每个方法的返回值直接作为HTTP响应体返回,而不是返回一个视图。
    结合起来,这段代码通常出现在一个Spring Boot应用中,用于定义一个处理GET请求的RESTful API控制器。

java

代码解读

复制代码

package com.example.javaapp.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class JavaAppController { @GetMapping("/test") public String test() { return "hello java"; } }

启用Spring MVC的Web功能

这里的含义是使用mvc模板绑定html模板,绑定数据层。如果是这种方式,则需要开启mvc的web功能


java

代码解读

复制代码

package com.example.javaapp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @SpringBootApplication @EnableWebMvc public class JavaAppApplication { public static void main(String[] args) { SpringApplication.run(JavaAppApplication.class, args); } }

MVC模式示例


java

代码解读

复制代码

import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class EmployeeController { @GetMapping("/employees") public String getEmployees(Model model) { // 假设我们有一个员工列表 List<Employee> employees = fetchEmployees(); // 将员工列表添加到模型中 model.addAttribute("employees", employees); // 返回视图名称 return "employeeList"; // 视图名称 } }

我这里没有使用这样方式

定义实体类

定义一个实体类,用于表示任务表的字段


java

代码解读

复制代码

package com.example.javaapp.entity; import lombok.Data; // 导入Lombok:import lombok.Data; 导入Lombok库中的@Data注解。Lombok是一个Java库,用于减少样板代码 // @Data注解:这个注解自动生成以下内容: // 所有字段的getter和setter方法。 // toString()方法,方便打印对象信息。 // equals()和hashCode()方法,便于比较对象。 @Data public class JavaApp { private String name; private String code; }

添加lombok依赖项

xml

代码解读

复制代码

<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <!-- 使用最新版本 --> <scope>provided</scope> </dependency>

报错,原因是我还没建表

建数据表

继续报错

该模式需要建立 list.html绑定数据

也就是刚才说的那种模式,则需要这种方式。

修改模式为RestController注解模式


java

代码解读

复制代码

package com.example.javaapp.controller; // import org.springframework.stereotype.Controller; // import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.GetMapping; import com.example.javaapp.entity.Employee; import com.example.javaapp.repository.JavaAppDAO; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/web") public class JavaAppController { private final JavaAppDAO javaAppDAO; public JavaAppController(JavaAppDAO javaAppDAO) { this.javaAppDAO = javaAppDAO; } @GetMapping("/list") public List<Employee> listEmployees() { return javaAppDAO.getAllEmployees(); } }

重启应用,查询接口

编写新增接口


java

代码解读

复制代码

@PostMapping("/add") public String addEmployee(@RequestBody Employee employee) { javaAppDAO.createEmployee(employee.getName(), employee.getCode()); // 调用服务层方法添加员工 return "员工添加成功"; // 返回成功消息 }

处理报错

数据表有多余的字段,删除即可

新增接口编写完成

编写修改接口


java

代码解读

复制代码

@PutMapping("/update/{id}") public String updateEmployeed(@PathVariable String id, @RequestBody Employee employee) { javaAppDAO.updateEmployee(id, employee.getName(), employee.getCode()); // 调用服务层方法更新员工 return "员工更新成功"; // 返回成功消息 }

测试接口


java

代码解读

复制代码

//删除接口 @DeleteMapping("/delete/{id}") public String deleteEmployeed(@PathVariable String id) { javaAppDAO.deleteEmployee(id); return "员工删除成功"; }

报错 java: 错误: 不支持发行版本 5

版本不一致导致修改版本一致即可

1. 查看 -文件-项目结构-项目设置-项目

查看settings里面的java Compiler

文件-设置

去File里找Settings打开,在打开的页面中找到Build开头的那一串,接着找它下面Compiler下的java compiler,

修改到对应的版本,然后应用保存就可以关闭了。

重新运行代码.

程序包org.springframework.stereotype 不存在——解决办法

1.File—>Settings----->Build,Execution,Deployment——>Maven——>Runner——>选择Delegate IDE,选择自己安装的JRE的路径

springboot打包jar

先设置:点击 File ==> Project Structure ==> Artifacts ==> 点击加号 ==> 选择JAR ==> 选择From modules with dependencies

开始打包

打包完成

打完了以后,就会出现jar的包

宝塔部署jar包

宝塔配置java jdk的环境

上传jar包到服务器目录

生成端口信息,配置端口放行

配置端口代理的域名

浏览器打开:v3.kestrel-task.cn/employee/li… 即可看到界面

原文链接:https://juejin.cn/post/7418063388093284364

标签:java,Spring,代码,CRUD,springframework,org,import,错误处理,public
From: https://blog.csdn.net/weixin_47588164/article/details/142516138

相关文章

  • [附源码]在线音乐系统+SpringBoot+Vue前后端分离
    今天带来一款优秀的项目:在线音乐系统源码 。系统采用的流行的前后端分离结构,内含功能包括"管理后台",“用户端”,“评论系统”,“歌手,歌曲管理”,“用户系统”,"统计"等功能。如果您有任何问题,也请联系小编,小编是经验丰富的程序员!一.系统演示视频 https://githubs.xy......
  • springboot+vue青年大学习数据分析系统的设计与实现5ek29
    目录功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行需求分析系统设计软件测试核心代码部分展示详细视频演示源码获取功能和技术介绍本项目包含程序源码和MySql脚本和文档,idea开发,支持Eclipse。对项目进行分阶段,分模块的开发,对项目进行黑盒......
  • 基于Node.js+vue基于springboot的模拟面试平台7tch0(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和互联网应用的广泛普及,传统的招聘模式正逐步向数字化、智能化转型。面试作为招聘流程中的关键环节,其效率与效果直接影响到企业的人......
  • PasteForm最佳CRUD实践,实际案例PasteTemplate详解之管理前端的代码(二)
    之前的文章说了,使用反射和ABPvNext的Dto实现用后端控制前端以实现最佳CRUD实践!相信看过一的已经了解了这个PasteForm是如何实现的了,本文来看下具体如何实现的表格页面的实现打开pasteform/index.html页面之后,先会向API请求当前的path的数据模板_apiget(`/api/app/${_class......
  • spring程序员前置知识-ApplicationContext执行过程分析-其一
    1.前置知识一个bean在加入spring容器之前,首先要读取class文件生成BeanDefinition,然后通过BeanDefinition实例化bean,BeanDefinition就是一个用来描述bean如何被创建出来的对象,最后执行bean的初始化。在spring中有两种Processor,一种是BeanFactoryPostProcessor,另一种是BeanP......
  • Spring ioc&DI
    (一)认识 IOC和DI1.IOC  认识IOC之前我们先来说一下spring是什么,我们说spring就是一个框架,可以让我们开发更加简单,他内部有很多集成好的一些类,所以我们用一句更简单的话来概括spring:Spring就是一个包含了众多工具方法的IOC容器  那什么是IOC呢?简单来说他的核心就是......
  • 如何打造Java SpringBoot民宿山庄农家乐系统?2025最新毕业设计攻略
    ✍✍计算机毕业编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、小程序、大数据实战项目集⚡⚡文末获取......
  • 如何打造流浪天使乐园管理系统?Java SpringBoot+Vue技术解析
    ✍✍计算机毕业编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、小程序、大数据实战项目集⚡⚡文末获取......
  • 基于springboot的点餐系统的设计与实现(附源码、lw、ppt)
    博主介绍:✌十余年IT大项目实战经验、在某机构培训学员上千名、专注于本行业领域✌技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫+大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战项目。主要内容:系统功能设计、开题报告......
  • Spring
     1.简介spring是一种用于简化复杂的企业开发的轻量级框架(从目的来说),是一种轻量级IOC(控制反转)和AOP(面向切面)的容器框架spring官网Spring|Homespring官方中文文档官网https://www.docs4dev.com/docs/zh/spring-framework/软件开发原则ocp开闭原则  在软件开发过......