ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

2026/8/23 maven springboot

2026/8/23 maven springboot 0.Maven配置Maven的作用依赖管理。Maven的配置文件setting.xml。我们的java项目可以使用maven下载我们需要的jar包。我们maven下载jar包默认是从国外的下载会有点慢我们可以用setting设置把他换成国内的镜像一般是阿里云镜像。1.idea配置mavenmaven home path是你要用的maven一般idea默认有一个也可以选择自己电脑上的maven。user setting file是你的maven的setting文件用哪个setting.xml就选哪个。local repository是你用maven下载好的jar都放在哪个位置。2.idea创建springboot项目3.引入web依赖SpringBootApplication三个注解springboot项目中SpringBootApplication包含的三个注解SpringBootConfiguration EnableAutoConfiguration ComponentScan建个数据库可以通过加索引优化数据库写一个controller先写配置再建controller包写接口类等会得先加web依赖然后加上之后maven刷新一下他自动带上Tomcat服务器、springMVC如图接下来就做下面的步骤。1.写配置 application.ymlserver: port: 80812.建controller包写接口类controller包要放在子包下否则404找不到类package org.school.xdttest.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; RestController //RequestMapping(/user) public class UserController { GetMapping(/hello) public String hello(){ return 123; } }这次变成controller调用servicecontrollerpackage org.school.xdttest.controller; import org.school.xdttest.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; RestController //RequestMapping(/user) public class UserController { //注入service Autowired private UserService userService; GetMapping(/hello) public String hello(){ return userService.sayhello(); } }接口实现类package org.school.xdttest.service; public interface UserService { String sayhello(); }package org.school.xdttest.service.impl; import org.school.xdttest.service.UserService; import org.springframework.stereotype.Service; Service public class UserServiceImpl implements UserService { Override public String sayhello() { return service返回; } }写一个统一返回结果的Result.java一般标准的项目里肯定要统一咱们这个返回结果的code msg data一般写common包里这里一般放工具、异常、 统一返回写Result实体类我们可以加上Lombok依赖里的Data注解这个注解就是专门放在实体类上面自动帮我们生成代码比如getter setter toString equals hashcode然后引入lombok依赖的时候如果继承了父工程可以省略版本号和scopedependency groupIdorg.projectlombok/groupId artifactIdlombok/artifactId /dependencyResult要用泛型因为返回的数据类型不确定。如果不加泛型的话就要把data属性定义成Object。Result加泛型T就是为了让data可以存放不同类型的数据使用泛型可以在编译时做类型校验避免Object带来的强制类型转换减少运行时类型转换异常。T和的区别泛型T与通配符T定义泛型参数写在类/方法上面用来声明一个类型变量。T表示一个确定的类型使用的时候确定是什么一旦确定是User整个类里面所有T全部都是User?通配符代表任意未知类型。一般用在方法参数返回值不能写在类定义上。T定义模板表示不知道是什么类型package org.school.xdttest.common; import lombok.Data; Data public class ResultT { private Integer code; private String msg; private T data; //成功 public static T ResultT success(T data){ ResultT rnew Result(); r.setCode(200); r.setMsg(操作成功); r.setData(data); return r; } //失败 public static T ResultT fail(Integer code,String msg){ ResultT rnew Result(); r.setCode(code); r.setMsg(msg); return r; } }写一个全局异常处理器GlobalExceptionHandler这个一般在项目里也得有package org.school.xdttest.common; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; RestControllerAdvice //全局异常注解 public class GlobalExceptionHandler { //捕获所有异常 ExceptionHandler(Exception.class) public Result? handleException(Exception e){ e.printStackTrace(); return Result.fail(500,服务器内部异常e.getMessage()); } }RestControllerAdvice对所有Controller做增强统一捕获异常返回JSONExceptionHandler(Exception.class)用来拦截对应类型的异常demo0.web mp mysql依赖在原来基础上加上依赖mybatismysql。!-- mybatis -- dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-spring-boot3-starter/artifactId version3.5.6/version /dependency !-- mysql依赖 -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.33/version /dependency1.domainuser实体类package org.school.xdttest.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; Data TableName(login_user) public class User { TableField(id) private String id; TableField(name) private String name; TableField(gender) private String gender; TableField(status) private Integer status; }Data是Lombok里的注解有了这个我们就省去写实体类里的get set toString等方法TableName TableField是Mybatis plus里的注解映射数据库2.controller自上而下写吧先想好请求地址、请求方式、传的参数、返回值
返回列表