SpringBoot项目创建流程--SpringMVC
SpringBoot项目创建步骤
1. 创建SpringBoot工程
(1) File → New → Project → Spring Initilizr
(2) Name:MySpringBoot
(3) Group: com.baidu
(4) java: 8
(5) Next

(6) Finish
(7) This Window

(8) 配置maven环境:
① File → Settings → Build,Execution,Deployment → Build Tools → Maven
② Maven Home Path:Maven文件路径
③ User setting files: Maven文件路径 → conf → logging → setting文件
④ Local repository:自建路径(D:\Java\repository)
⑤ OK

2. 创建Maven工程
(1) MySpringBoot下右键 → New → moudle → Maven
(2) Next

(3) Name:springboot_demo4
(4) Groupid :com.baidu
(5) Finish

3. 编辑Spring MVC
目录结构如下:

操作步骤:
(1) 编辑pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5 <modelVersion>4.0.0</modelVersion>
6
7 <groupId>com.jt</groupId>
8 <artifactId>springboot_demo3</artifactId>
9 <version>1.0-SNAPSHOT</version>
10
11 <!--1.parent标签-->
12 <!--集中定义版本号-->
13 <parent>
14 <groupId>org.springframework.boot</groupId>
15 <artifactId>spring-boot-starter-parent</artifactId>
16 <version>2.5.1</version>
17 <relativePath/> <!-- lookup parent from repository -->
18 </parent>
19
20
21 <!--2.添加依赖项-->
22 <!--依赖: 项目中需要添加什么功能,则依赖什么jar包.-->
23 <dependencies>
24 <!--引入SpringMVC功能-->
25 <dependency>
26 <groupId>org.springframework.boot</groupId>
27 <artifactId>spring-boot-starter-web</artifactId>
28 </dependency>
29 <!--SpringBoot的测试功能-->
30 <dependency>
31 <groupId>org.springframework.boot</groupId>
32 <artifactId>spring-boot-starter-test</artifactId>
33 <scope>test</scope>
34 </dependency>
35
36 <!--SpringBoot核心机制: "开箱即用"
37 只需导入特定的jar包文件 则可以直接使用其中的功能
38 根本原因: SpringBoot是对框架的简化,内部进行了扩展,无需程序员操作.
39 -->
40 <!--支持热部署 -->
41 <dependency>
42 <groupId>org.springframework.boot</groupId>
43 <artifactId>spring-boot-devtools</artifactId>
44 </dependency>
45
46 <!--引入插件lombok 自动的set/get/构造方法插件 -->
47 <dependency>
48 <groupId>org.projectlombok</groupId>
49 <artifactId>lombok</artifactId>
50 </dependency>
51
52 <!--引入数据库驱动 -->
53 <dependency>
54 <groupId>mysql</groupId>
55 <artifactId>mysql-connector-java</artifactId>
56 <scope>runtime</scope>
57 </dependency>
58
59 <!--springBoot数据库连接 -->
60 <dependency>
61 <groupId>org.springframework.boot</groupId>
62 <artifactId>spring-boot-starter-jdbc</artifactId>
63 </dependency>
64
65 <!--spring整合mybatis-plus MP中包含了mybatis的包所以将原来的包删除 -->
66 <dependency>
67 <groupId>com.baomidou</groupId>
68 <artifactId>mybatis-plus-boot-starter</artifactId>
69 <version>3.4.3</version>
70 </dependency>
71
72 </dependencies>
73
74
75 <!--3.添加build标签-->
76 <!--该插件是SpringBoot项目打包时必须添加的.
77 如果没有该插件 则导致jar包不能运行
78 -->
79 <build>
80 <plugins>
81 <plugin>
82 <groupId>org.springframework.boot</groupId>
83 <artifactId>spring-boot-maven-plugin</artifactId>
84 <version>2.5.1</version>
85 </plugin>
86 </plugins>
87 </build>
88 </project>
(2) 编辑主启动类
① @SpringBootApplication
② @MapperScan(“com.jt.mapper”) --> 包扫描
1 package com.jt;
2
3 import org.mybatis.spring.annotation.MapperScan;
4 import org.springframework.boot.SpringApplication;
5 import org.springframework.boot.autoconfigure.SpringBootApplication;
6
7 @SpringBootApplication
8 @MapperScan("com.jt.mapper")
9 public class RunApp {
10 public static void main(String[] args) {
11 SpringApplication.run(RunApp.class, args);
12 }
13 }
(3) 编辑pojo包下的User类
① @Data --> 自动生成setter/getter/to string/构造方法等
② @Accessors(chain = true) --> 启动链式加载(重写set方法)
③ @TableName(“demo_user”) --> 使用MP, 类名与表名映射
1 package com.jt.pojo;
2
3 import com.baomidou.mybatisplus.annotation.TableName;
4 import lombok.Data;
5 import lombok.experimental.Accessors;
6
7 import java.io.Serializable;
8
9 @Data
10 @Accessors(chain = true)
11 @TableName("demo_user")
12 //规定:POJO实体一般都需要实现序列号接口
13 public class User implements Serializable {
14 private Integer id;
15 private String name;
16 private Integer age;
17 private String sex;
18 }
(4) 编辑mapper层下的UserMapper接口
1 package com.jt.mapper;
2
3 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 import com.jt.pojo.User;
5 import org.apache.ibatis.annotations.Mapper;
6
7 //@Mapper 每个接口都要加一次,麻烦,所以提取到主启动类RunApp上加@MapperScan("com.jt.Mapper")注解
8 public interface UserMapper extends BaseMapper<User> {
9
10 }
(5) 编辑resources--mappers包下的UserMapper.xml映射文件
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper
3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5 <!--语法:namespace="接口的路径" -->
6 <mapper namespace="com.jt.mapper.UserMapper">
7
8 <!-- <select id="findAll" resultType="User">
9 select * from demo_user
10 </select>
11 -->
12 </mapper>
(6) 编辑resources包下的application.yml核心配置文件
server:
port: 8090
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
#如果密码以数字0开头,则使用""号包裹 "0123456"
password: root #SpringBoot整合MybatisPlus
mybatis-plus:
#设置别名包
type-aliases-package: com.jt.pojo
#加载映射文件
mapper-locations: classpath:/mappers/*.xml
#开启驼峰映射
configuration:
map-underscore-to-camel-case: true
#打印Sql语句
logging:
level:
#指定包路径,日志输出
com.jt.mapper: debug
(7) 编辑service层下的UserService接口
1 package com.jt.service;
2
3 import com.jt.pojo.User;
4
5 import java.util.List;
6
7 public interface UserService {
8 List<User> findAll();
9 }
(8) 编辑Service层下的UserServiceImpl实现类
① @Service
② @AutoWired --> 依赖注入
③ @Override --> 重写接口方法
1 package com.jt.service;
2
3 import com.jt.mapper.UserMapper;
4 import com.jt.pojo.User;
5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Service;
7
8 import java.util.List;
9
10 @Service
11 public class UserServiceImpl implements UserService {
12 @Autowired
13 public UserMapper userMapper;
14
15 @Override
16 public List<User> findAll() {
17 return userMapper.selectList(null);
18 }
19 }
(9) 编辑controller层下的UserController类
① @RestController
② @CrossOrigin --> 解决跨域问题
③ AutoWired --> 依赖注入
④ @RequestMapping(“findAll”)
1 package com.jt.controller;
2
3 import com.jt.pojo.User;
4 import com.jt.service.UserService;
5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.web.bind.annotation.CrossOrigin;
7 import org.springframework.web.bind.annotation.RequestMapping;
8 import org.springframework.web.bind.annotation.RestController;
9
10 import java.util.List;
11
12 @CrossOrigin
13 @RestController
14 public class UserController {
15 @Autowired
16 private UserService userService;
17
18 @RequestMapping("findAll")
19 public List<User> find() {
20 return userService.findAll();
21 }
22 }
SpringBoot项目创建流程--SpringMVC的更多相关文章
- SpringBoot项目创建与第一个SSM项目示例
本节介绍SpringBoot创建第一个示例SSM项目的完整过程,使用工具STS,与IDEA操作基本类似. 示例代码在:https://github.com/laolunsi/spring-boot-e ...
- ADF 项目创建流程
ADF 项目创建流程: 1.首先建好应用 2.创建model,UI 3.创建EO,VO,AO, VL 4.设置EO的属性 5.新建lov 6.设置VO的View Accessors,并设置Attrib ...
- Springboot项目创建文件中相对路径问题
Springboot项目创建文件中相对路径问题 原代码: String location = "./src/main/resources/UsersFiles/" + userId ...
- springboot项目创建
1.在eclipse中创建springboot项目,右键找到New,然后找到Spring Starter Project, 如果menu中找不到Spring Starter Project就选择oth ...
- SpringBoot项目创建及入门基础
一:快速构建springboot项目 进入https://start.spring.io/,选择相应的springboot版本,包名,项目名,依赖 图中选择web,利用tomcat服务器进行开发 sp ...
- (三)创建基于maven的javaFX+springboot项目创建
创建基于maven的javaFx+springboot项目有两种方式,第一种为通过非编码的方式来设计UI集成springboot:第二种为分离用户界面(UI)和后端逻辑集成springboot,其中用 ...
- 解决SpringBoot项目创建缓慢问题
SpringBoot项目构建缓慢 快速创建springboot项目 在创建一个springboot项目的时候,往往速度会很慢,原因是下载springboot文件的默认地址是springboot官网(国 ...
- SpringBoot项目创建与单元测试
前言 Spring Boot 设计之初就是为了用最少的配置,以最快的速度来启动和运行 Spring 项目.Spring Boot使用特定的配置来构建生产就绪型的项目. Hello World 可以 ...
- cocos2dx3.0项目创建流程
cocos2dx3.0不是beta,新增了wp项目创建的支持 但不知道为啥非beta版本号的tools文件夹中取消了project-creator,可能有更改吧 没有这个工具还挺麻烦.就自己手动创建c ...
随机推荐
- [bug] Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MyS
sql语句写错了,如图,where前多了个逗号
- C语言风格的 for 循环(SHELL的循环写法 已验证20200517)
C语言风格的 for 循环 C语言风格的 for 循环的用法如下: for((exp1; exp2; exp3))do statementsdone 几点说明: exp1.exp2.exp3 是 ...
- [Linux-网络性能测试] -- netperf测试
[Linux-网络性能测试] -- netperf测试 2017.01.17 14:15:54字数 1599阅读 4400 简述 Netperf是一种网络性能的测量工具(由惠普公司开发的,测试网络栈. ...
- Canal和Otter讨论二(原理与实践)
上次留下的问题 问题一: 跨公网部署Otter 参考架构图 解析 a. 数据涉及网络传输,S/E/T/L几个阶段会分散在2个或者更多Node节点上,多个Node之间通过zookeeper进行协同工 ...
- Flume 常用配置项
注:以下配置项均为常见配置项,查询详细配置项可以访问 flume 官网 Source 常见配置项 Avro Source 配置项名称 默认值 描述 Channel – type – 组件类型名称,必须 ...
- Jquery 常用方法及实例(Day_15)
想要做一件事,永远都不要怕晚.只要你开始做了,就不晚. 而若是你不开始,仅仅停留在思考.犹豫甚至焦虑的状态,那就永远都是零. mouseover() / mouserout() 当鼠标进入 / 离开某 ...
- .Net Core with 微服务 - Ocelot 网关
上一次我们通过一张架构图(.Net Core with 微服务 - 架构图)来讲述了微服务的结构,分层等内容.从现在开始我们开始慢慢搭建一个最简单的微服务架构.这次我们先用几个简单的 web api ...
- 详细教程丨如何利用Rancher和Kong实现服务网格?
服务网格(Service mesh)是当前新兴的架构模式,越来越受到人们的青睐.与Kubernetes一起,服务网格可以形成一个强大的平台,它可以解决在微服务集群或服务基础设施上发现的高度分布式环境中 ...
- 在Go语言项目中使用Zap日志库
在Go语言项目中使用Zap日志库 本文先介绍了Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档. 在Go语言项 ...
- 如何使用TVM Pass红外线
如何使用TVM Pass红外线 随着Relay / tir中优化遍数的增加,执行并手动维护其依赖关系变得很棘手.引入了一个基础结构来管理优化过程,将其应用于TVM堆栈中IR的不同层. Relay / ...