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 ...
随机推荐
- [敏杰开发]Beta阶段测试报告
[敏杰开发]Beta阶段测试报告 这是一篇软工课程博客 项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 测试项目 这个作业在哪个 ...
- 80行代码教你写一个Webpack插件并发布到npm
1. 前言 最近在学习 Webpack 相关的原理,以前只知道 Webpack 的配置方法,但并不知道其内部流程,经过一轮的学习,感觉获益良多,为了巩固学习的内容,我决定尝试自己动手写一个插件. 这个 ...
- Linux USB ECM Gadget 驱动介绍
1 USB ECM介绍 USB ECM,属于USB-IF定义的CDC(Communication Device Class)下的一个子类:Ethernet Networking Control Mo ...
- traefik: 基础入门总结
traefik介绍 traefik-现代反向代理,也可称为现代边缘路由:traefik原声兼容主流集群,Kubernetes,Docker,AWS等.官方的定位traefik是一个让开发人员将时间花费 ...
- 单用户模式修改root密码
单用户模式修改root密码 1.进入引导菜单界面2.按e进入grub,在linux或linux16那行结尾加上 rw init=/bin/bash,按Ctrl+x或F103.进入bash-4.3# , ...
- linux中级之netfilter防火墙(firewalld)
一.firewalld主要概念 dynamic firewall daemon.支持ipv4和ipv6.Centos7中默认将防火墙从iptables升级为了firewalld.firewalld相对 ...
- 3.2-3 tac、more
3.2 tac命令 是cat的反向拼写,因此命令的功能为反向显示文件内容.cat命令是从第一行开始读取文本输出的,而tac则是从最后一行开始读取文本并进行反向输出,需要注意的是,2个命令都是以一行文本 ...
- 程序"三高"解决方案
0. 程序三高 1. 缓存 2. 预处理和延后处理 3. 池化 3.1 内存池 3.2 线程池 3.3 连接池 4. 异步(回调) 5. 消息队列 5.1 服务解耦 5.2 异步处理 5.3 流量削峰 ...
- Pycharm搜索导航之文件名、符号名搜索
1.准备一个工程 向你的工程中添加一个Python文件,并输入一些源码,例如: 2.转到对应文件.类.符号 Pycharm提供的一个很强力的功能就是能够根据名称跳转到任何文件.类.符号所在定义位置. ...
- 关于一类docker容器闪退问题定位
背景:正在学习docker期间,接到一个任务,通过docker部署一个应用A.该应用A类似于之前部署的应用B,结果很自然地犯了形而上学的错误. 思路:基于dockerfile+docker-compo ...