有什么软件可以做网站,建定制营销型网站,网站记登录账号怎么做,wordpress共享文件夹目录 
什么是Spring Boot#xff1f; 
为什么选择Spring Boot#xff1f; 
Spring Boot的核心概念 
详细步骤#xff1a;创建一个Spring Boot应用 
步骤1#xff1a;使用Spring Initializr创建项目 
步骤2#xff1a;解压并导入项目 
步骤3#xff1a;构建和配置项目 
po…目录 
什么是Spring Boot 
为什么选择Spring Boot 
Spring Boot的核心概念 
详细步骤创建一个Spring Boot应用 
步骤1使用Spring Initializr创建项目 
步骤2解压并导入项目 
步骤3构建和配置项目 
pom.xmlMaven项目 
application.yml配置文件 
步骤4创建实体和仓库 
User.java实体类 
步骤5创建映射方法 Mapper,BaseMapper 
步骤6创建服务类 
UserService.java服务类 步骤7创建映射文件 EmpDaoMapperInfo.xml 
步骤8创建控制类 Controller 
步骤9运行应用 
步骤10测试应用 
总结 1.什么是Spring Boot 
Spring Boot是Pivotal团队现为VMware的一部分提供的一套快速开发Spring应用的脚手架。它基于Spring框架通过提供一系列的“Starters”和自动配置简化了Spring应用的初始搭建和开发过程。Spring Boot的目标是让你尽可能快地运行和部署Spring应用。 
2.为什么选择Spring Boot 
快速开发Spring Boot提供了快速构建和部署Spring应用的能力。开箱即用内嵌了Tomcat、Jetty等服务器无需部署WAR文件。自动配置根据添加的依赖自动配置Spring应用减少手动配置。无代码生成不需要生成额外的XML或Java配置代码。生产就绪提供了监控和管理应用的工具如指标、健康检查等。 
3.Spring Boot的核心概念 
Spring Boot Starter提供项目所需的依赖集合简化依赖管理。Spring Boot Auto-Configuration自动配置Spring和第三方库无需手动配置。Spring Boot Actuator提供应用监控和管理的端点。Spring Boot CLI命令行工具用于快速开发和测试Spring应用。Spring Initializr在线工具用于快速生成Spring Boot项目结构。 
4.详细步骤创建一个Spring Boot应用 
步骤1使用Spring Initializr创建项目 
访问Spring Initializr选择以下选项 
Project: Maven Project 或 Gradle ProjectLanguage: JavaSpring Boot版本选择最新的稳定版本Group: com.exampleArtifact: demoDependencies: Spring Web, Spring Data JPA, H2 Database 
点击“Generate”按钮下载生成的项目压缩包。 
步骤2解压并导入项目 
将下载的压缩包解压并使用IDE如IntelliJ IDEA或Eclipse导入项目。 
步骤3构建和配置项目 
pom.xmlMaven项目 
确保pom.xml文件中包含了以下依赖 
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--spring-mybatis整合包--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.1.3/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.10/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies 
application.yml配置文件 
在src/main/resources目录下编辑application.properties文件添加数据库配置 
#DB Configuration:
spring:#连接池配置datasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/schoolbase?useSSLfalseuseUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghaiusername: rootpassword: 123456initial-size: 1                     #连接池初始大小max-active: 20                      #连接池中最大的活跃连接数min-idle: 1                         #连接池中最小的活跃连接数max-wait: 60000                     #配置获取连接等待超时的时间pool-prepared-statements: true    #打开PSCache并且指定每个连接上PSCache的大小max-pool-prepared-statement-per-connection-size: 20validation-query: SELECT 1 FROM DUALvalidation-query-timeout: 30000test-on-borrow: false             #是否在获得连接后检测其可用性test-on-return: false             #是否在连接放回连接池后检测其可用性test-while-idle: true             #是否在连接空闲一段时间后检测其可用性#mybatis配置
mybatis:mapper-locations: classpath:mapper/*MapperInfo.xmltype-aliases-package: com.fs.pojoconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 
步骤4创建实体和仓库 
User.java实体类 
package com.fs.pojo;import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;Data
AllArgsConstructor
NoArgsConstructor
ToString
public class Emp {private Integer empno;private String ename;private String pass;private String job;private Integer deptno;private Integer mgr;DateTimeFormat(pattern  yyyy-MM-dd) //提交请求的日期转换JsonFormat(pattern  yyyy-MM-dd,timezone  GMT8) //响应json转换private Date hiredate;private Double sal;
}步骤5创建映射方法 Mapper,BaseMapper 
这是基础映射接口 
package com.fs.mapper;import java.io.Serializable;
import java.util.List;//基础映射接口公共的方法public interface BaseMapperT {/*** 插入一条记录* param entity* 实体对象* return int*/Integer insert(T entity) throws  Exception;/*** 根据 ID 修改* param entity* 实体对象* return int*/Integer update(T entity)throws  Exception;/*** 根据 ID 删除* param id* 主键ID* return int*/Integer deleteById(Serializable id) throws  Exception;/*** 根据 ID 查询* param id* 主键ID* return T*/T selectById(Serializable id) throws  Exception;/*** 查询所有* return ListT*/ListT selectAll() throws  Exception;}这是自己的Mapper直接继承BaseMapper再写一些额外的方法 
package com.fs.mapper;import com.fs.pojo.Emp;
import com.fs.vo.Condition;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;import java.util.List;Repository
Mapper  //接口实现映射代理
public interface EmployeeMapper extends BaseMapperEmp{/*** 登录功能* param employeeModel 密码 用户名* return 用户对象*/Emp login(Emp employeeModel);/*** 根据条件查询* param condition 条件对象* return 结果集合*/ListEmp selectByCondition(Condition condition);}步骤6创建服务类 
UserService.java服务类 
服务类接口 
package com.fs.service;import com.fs.pojo.Emp;
import com.fs.vo.Condition;import java.util.List;public interface EmpService {int addEmp(Emp employeeModel) throws Exception;//int updateEmp(EmployeeModel employeeModel) throws Exception;int delete(int empno) throws Exception;ListEmp queryEmps() throws Exception;Emp login(Emp employeeModel);//条件查询ListEmp queryByCondition(Condition condition);
}实现类 
package com.fs.service.impl;import com.fs.mapper.EmployeeMapper;
import com.fs.pojo.Emp;
import com.fs.service.EmpService;
import com.fs.vo.Condition;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.util.List;Service
public class EmpServiceImpl implements EmpService {//注入映射代理Resourceprivate EmployeeMapper employeeMapper;Overridepublic int addEmp(Emp employeeModel) throws Exception {return employeeMapper.insert(employeeModel);}Overridepublic int delete(int empno) throws Exception {return employeeMapper.deleteById(empno);}Overridepublic ListEmp queryEmps() throws Exception {return employeeMapper.selectAll();}Overridepublic Emp login(Emp employeeModel) {return employeeMapper.login(employeeModel);}Overridepublic ListEmp queryByCondition(Condition condition) {return employeeMapper.selectByCondition(condition);}
}步骤7创建映射文件 EmpDaoMapperInfo.xml 
?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.fs.mapper.EmployeeMapperselect idselectAll resultMapempmapselect * from emp/selectselect idlogin parameterTypeEmp resultMapempmapselect * from emp whereename#{ename} and pass#{pass}/selectdelete iddeleteById parameterTypeintdelete from emp where empno  #{empno}/deleteselect idselectById parameterTypejava.lang.Integer resultMapempmapselect * from emp where empno#{no}/selectinsert idinsert parameterTypeEmpinsert into emp (empno,ename,job,sal,pass,hiredate)values (#{empno},#{ename},#{job},#{sal},#{pass},#{hiredate})/insertselect idselectByCondition parameterTypecom.fs.vo.ConditionresultMapempmapselect * from emp/selectresultMap idempmap typeEmpid columnempno propertyempno/idresult columnename propertyename/resultresult columnjob propertyjob/resultresult columnsal propertysal/resultresult columnpass propertypass/resultresult columnhiredate propertyhiredate/result/resultMap/mapper 
步骤8创建控制类 Controller 
package com.fs.controller;import com.fs.pojo.Dept;
import com.fs.pojo.Emp;
import com.fs.service.DeptService;
import com.fs.service.EmpService;
import com.fs.vo.CommonResultVo;
import com.fs.vo.Condition;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;RestController
//RequestMapping(/emp)
public class EmyController {Resourceprivate EmpService empService;Resourceprivate DeptService deptService;RequestMapping(/test)public String empTest(){return test;}PostMapping(/add)public Map add(Emp employeeModel) throws Exception {int i  empService.addEmp(employeeModel);Map map  new HashMap();map.put(code,200);map.put(msg,插入成功);//转换成json对象return map;}RequestMapping(/query)public Map queryAll() throws Exception {//查询所有数据ListEmp employeeModels  empService.queryEmps();Map map  new HashMap();map.put(code,200);map.put(msg,查询成功);map.put(data,employeeModels);map.put(totals,employeeModels.size());return map;}RequestMapping(/querybyconition)public CommonResultVoEmp queryByCondition(Condition condition){ListEmp employeeModels  empService.queryByCondition(condition);//返回统一的公共响应类型对象CommonResultVoEmp commonResultVo  new CommonResultVo();commonResultVo.setCode(200);commonResultVo.setMsg(多条件查询成功);commonResultVo.setList(employeeModels);commonResultVo.setTotal(employeeModels.size());return commonResultVo;}//RequestMapping(/login)PostMapping(/login)public CommonResultVo login(Emp employeeModel){Emp employee  empService.login(employeeModel);CommonResultVo commonResultVo  new CommonResultVo();if (employee! null) {commonResultVo.setCode(200);commonResultVo.setMsg(登录成功);commonResultVo.setData(employee);}else{commonResultVo.setCode(500);commonResultVo.setMsg(登录失败);}return commonResultVo;}RequestMapping(/queryDept)public CommonResultVo getAllDept() throws Exception {ListDept depts  deptService.queryAll();CommonResultVo commonResultVo  new CommonResultVo();commonResultVo.setCode(200);commonResultVo.setMsg(部门查询成功);commonResultVo.setList(depts);return  commonResultVo;}}温馨提示当然你还可以写一些前端页面用于展示 步骤9运行应用 
运行主应用类DemoApplication应用将启动并监听默认的8080端口。 
步骤10测试应用 
使用Postman或任何HTTP客户端工具发送请求到http://localhost:8080/users来测试你的应用。 
GET /users获取所有用户列表。POST /users创建一个新用户。 
5.总结 
Spring Boot通过提供一系列的Starters、自动配置和简化的部署流程极大地提高了Java应用的开发效率。通过上述步骤你可以快速搭建一个具有RESTful API的Spring Boot应用并使用Spring Data JPA进行数据持久化。Spring Boot的这些特性使得它成为现代Java应用开发的不二选择。