从零开始搭建一个springboot项目环境(保姆级别)---Day01

最近刚好闲下来,就想自己动手搞一个springboot + vue 的项目练练手,顺带记录一下项目搭建过程的各种坑!!!可能过程有点啰嗦,但是准备了目录,大家自己跳着看就行。

一、环境准备

1.1  本机环境(四大法宝)   

  • 准备JDK(jdk1.8就行)
  • 准备maven(本人用的是3.5.4版本)
  • 准备mysql(本人用的5.7.40版本)
  • 开发软件idea(本人用的是2020.1版本):这个懂的都懂(支持正版

jdk下载地址:

Java I tell you-爪哇我话你知
JDK下载 - 编程宝库
Index of /Adoptium/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

官网:http://www.oracle.com/technetwork/java/javase/downloads/index.html

maven下载地址

Index of /dist/maven/maven-3

mysql下载地址:

MySQL :: Download MySQL Community Server

注:maven版本记得跟idea版本进行适配,不然创建项目的时候会报错:Unable to import maven project(自己踩过的坑,给大家留把伞

上面的下载啥的,懂一两句英文,应该是没啥问题。

1.idea 2021兼容maven 3.8.1及以前的所有版本。

2.idea 2020兼容maven 3.6.3及以前的所有版本。

4.idea 2019兼容maven 3.6.1及以前的所有版本。

3.idea 2018兼容maven 3.6.1及以前的所有版本。

1.2 项目创建

正常的springboot项目创建有两种方式,我们直接用便捷式的创建。

注:便捷式创建,默认从国外网站下载信息,项目创建会有点慢,我们可以自己去配置阿里云的仓库地址:https://start.aliyun.com/ 

1.2.1 配置加载地址

 点击下一步,报错:Initialization failed for 'https://start.aliyun.com/' Please check URL, network and proxy settings.

解决办法:

 我的连接显示没问题,但还是死活创建不了!所以只能改回原始的地址!有好的解决办法的道友,麻烦留言告知我一下~~~

1.2.2  项目基本设置

 然后直接next到完成创建就行了!其余啥都不用选!

1.2.3 启动项目

这一步主要是检测一下项目有没有啥问题。

自己搞一个Controller测试一下,页面回显info则说明一切正常。

@RestController
@RequestMapping("/openApi/")
public class TestController {

    @GetMapping("info")
//    @CrossOrigin("https://www.baidu.com")
    public String info(){
        return "info";
    }

}

1.3 项目依赖引入

1.3.1 引入数据库

        <!-- 引入数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.26</version> <!-- 这里需要注意 mybatis 与 mysql 的版本 -->
        </dependency>

 在配置文件上配置一下数据库的相关数据

#配置数据库
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/springboot?characterEncoding=utf-8&useSSL=false
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: root

com.mysql.jdbc.Driver 对应低版本msyql、也就是 mysql-connector-java 5中的。

com.mysql.cj.jdbc.Driver 对应高版本mysql、也就是 mysql-connector-java 6及以上。

测试一下是否能连接上数据库

@SpringBootTest
class SpringbootApplicationTests {
    @Autowired
    DataSource dataSource;

    @Test
    public void test() throws SQLException {
        System.out.println(dataSource.getConnection());
    }
}

如果一直连接不上,着重检查一下自己本机的MySQL环境是否安装正确,Maven依赖中导入的驱动版本是否与本地的MySQL版本兼容;再者看看自己的数据库配置是否正确。

1.3.2 引入MybatisPlus依赖

        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>

注意注意注意:MybatisPlus的版本必须跟我们引入的MySQL依赖版本相适配!!!

#配置mybatis
mybatis-plus:
  #配置日志
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 这个配置会把后台的查询SQL详细展示出来,方便我们自己检查错误之类的
  mapper-locations: classpath:mapper/*.xml

不知道MybatisPlus怎么用的,大家伙上网找找几篇文章,大概就知道怎么用了。 

1.3.3 其他帮助开发的依赖

        <!-- lombok简化开发 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- 这个依赖其实也可以不加 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.0</version>
        </dependency>

1.4 整合起来测试

上面已经初步搭建好了相关配置,现在开始联合测试

1.4.1 首先,往数据库里面搞点数据

DROP TABLE IF EXISTS `login_user`;
CREATE TABLE `login_user` (
  `user_id` varchar(255) NOT NULL,
  `user_name` varchar(255) DEFAULT NULL COMMENT '唯一',
  `password` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `unique_name` (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


INSERT INTO `login_user` VALUES ('1', '张三', '123');
INSERT INTO `login_user` VALUES ('2', '王五', '123');
INSERT INTO `login_user` VALUES ('3', '李四', '123');

1.4.2 准备实体类

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("login_user")
public class User {

    @TableId(value = "user_id")
    private String userId;

    @TableField(value = "user_name")
    private String username;

    @TableField(value = "password")
    private String password;
    
    
}

加在类上的注解,必须引入lombok依赖(上面已经给出),才能使用!主要就是自动帮我们生成getter、setter方法以及有参/无惨构造器! 

1.4.3 准备测试的Controller

@RestController
@SuppressWarnings("all")
@RequestMapping("/user/")
public class UserController {

    @Autowired
    UserService userService;

    @GetMapping("getUserInfo")
    public List<User> getInfo(){
        return userService.getUserInfo();
    }

}

1.4.4 准备相关的Service

public interface UserService {

    public List<User> getUserInfo();
}
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserMapper userMapper;

    @Override
    public List<User> getUserInfo() {
        return userMapper.selectByMap(null); // 传入空时,默认查全部
    }

}

1.4.5 准备UserMapper

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

没看错,就是这么简简单单的一个Mapper接口。是不是比Mybatis的配置简单多了!

其实主要还是依靠于MybatisPlus自带的这个BaseMapper接口,为我们提供了强大的功能!

1.4.6 启动springboot项目

在网页上输入,如果页面正常返回数据,说明上面的配置一切正常!

 http://localhost:8888/user/getUserInfo

可以修改我们项目的启动端口,在application.yml 或者 application.properties 修改。

#服务器启动端口,默认8080
server:
  port: 8888

上面的修改配置啥的,都是基于 application.yml,在 application.properties 中写法不一样。

application.yml 自己需要自己手动创建一下,必须跟 application.properties 在同一个目录。

二、总结

上面只是指导大家进行一些简单的项目配置,后面还有继续加入相关的配置(需要用到啥再来配置),后续我也会继续写相关的文章。如果这篇文章对大家有帮助,就点赞收藏吧~~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值