SpringBoot环境搭建

SpringBoot环境搭建

1.创建流程

1.1创建流程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

项目结构

在这里插入图片描述

2.导入依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        跟换为以下依赖
<!--web启动器为Spring MVC 提供了自动配置-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

3.编写controller

package com.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/test")
    public String hello(){
        return "hello java2206";
    }
}

4.测试

注意SpringBoot的启动类的存放位置

在这里插入图片描述

2.SpringBoot的目录结构

2.1pom.xml文件

  • 指定了一个父工程:指定当前工程为SpringBoot,帮助我们声明了starter依赖的版本。
  • 项目的元数据:包名,项目名,版本号。
  • 指定了properties信息:指定了java的版本为1.8
  • 导入依赖:默认情况导入spring-boot-starter,spring-boot-starter-test
  • 插件:spring-boot-maven-plugin

2.2.gitignore文件

默认帮我们忽略了一些文件和目录,避免提交到Git仓库中

2.3src目录

-src
  -main
   -java
   -包名
   启动类.java  #需要将controller类,放在启动类的子包中或者同级包下
-resources
    -static  #存放静态资源的
    -templates #存储模板页面的
    application.properties  # SpringBoot提供的唯一的配置文件
    -test   #只是为了测试用的

3.SpringBoot三种启动方式

  • 运行启动类的main
  • maven命令
  • 采用jar包方式运行

4.SpringBoot的常用配置

4.1配置文件格式

SpringBoot的配置文件支持properties和yml,甚至他还支持json。更推荐使用yml文件格式:

  1. yml文件,会根据换行和缩进帮助咱们管理配置文件所在位置2. yml文件,相比properties更轻量级一些

yml文件的劣势:
1.严格遵循换行和缩进
2.在填写value时,一定要在:后面跟上空格

5.SpringBoot整合Mybatis

5.1xml方式整合mybatis

xml方式在编写复杂SQL时更适合

5.2导入相关依赖

<!--mysql连接数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
<!--德鲁伊连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
<!--mybatis-Spring-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

5.3数据库信息


CREATE TABLE `users` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `pass` varchar(20) NOT NULL,
  `tel` varchar(11) DEFAULT NULL,
  `addr` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`uid`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

5.4编码

整合mybatis(非注解方式)

准备实体类

package com.pojo;

import lombok.Data;

@Data
public class Users {
    private int uid;

    private String name;

    private String pass;

    private String tel;

    private String addr;
}

编写dao层

IUserDao.java

package com.qfedu.dao;

import com.qfedu.pojo.Users;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface IUserDao {

// 注解方式不用写mapper.xml文件   @Select("select * from users")
    List<Users> getAllUsers();
}

创建mapper.xml文件

UsersDao.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dao.IUserDao">

    <resultMap type="com.pojo.Users" id="UsersMap">
        <result property="uid" column="uid" jdbcType="INTEGER"/>
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="pass" column="pass" jdbcType="VARCHAR"/>
        <result property="tel" column="tel" jdbcType="VARCHAR"/>
        <result property="addr" column="addr" jdbcType="VARCHAR"/>
    </resultMap>

    <!--查询指定行数据-->
    <select id="getAllUsers" resultMap="UsersMap">
        select
        uid, name, pass, tel, addr
        from users
    </select>
</mapper>

编写service层

IUserService接口

package com.qfedu.service;

import com.qfedu.pojo.Users;

import java.util.List;

public interface IUserService {

    List<Users> getAllUsers();

    List<Users> getUsersByPage(int cp, int ps);
}

接口实现类

package com.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.dao.IUserDao;
import com.pojo.Users;
import com.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements IUserService {

    @Autowired
    private IUserDao iud;

    @Override
    public List<Users> getAllUsers() {
        return iud.getAllUsers();
    }

    @Override
    public List<Users> getUsersByPage(int cp, int ps) {
        Page<Users> objects = PageHelper.startPage(cp, ps);

        List<Users> list = iud.getAllUsers();

        PageInfo<Users> pi = new PageInfo<>(list);

        return pi.getList();
    }
}

编写controller层

UserController.java

package com.controller;

import com.pojo.Users;
import com.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {

    @Autowired
    private IUserService ius;

    @GetMapping("/Users")
    public List<Users> getAllUsers(){
        return ius.getAllUsers();
    }

    @GetMapping("/UserPage")
    public List<Users> getUsersByPage(@RequestParam(name = "cp", defaultValue = "1") int cp,
                                      @RequestParam(name = "ps", defaultValue = "2") int ps){
        return ius.getUsersByPage(cp, ps);
    }
}

5.5新建application.properties文件

可在配置文件中配置端口号等信息

server.port=8888

5.6新建application.yml文件

注意:springboot默认是mysql8的配置,如果是mysql5的版本则需要在pom.xml文件中配置mysql5的版本

server:
  port: 9999

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://localhost:3306/mybatis?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8
    username: java2206
    password: 123456
mybatis:
  mapper-locations: classpath:mapper/*Dao.xml
  type-aliases-package: com.pojo

5.7测试

在两个配置文件中均配置了端口,第一个配置文件的优先级大于第二个

在这里插入图片描述

6.Springboot整合jsp

6.1pom引入需要的依赖

<!--jsp核心引擎依赖-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
<!--jstl-->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

6.2在webapp下创建WEB-INF去存放jsp页面

users.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<script src="https://cdn.bootcdn.net/ajax/libs/layui/2.7.6/layui.js"></script>
<html>
<head>
    <title>users</title>
</head>
<body>
<h1>this is user page.</h1>
${list}
</body>
</html>

6.3编写controller

这里需要用到jsp则使用@controller注解+ @ResponseBody注解,@RestController无需jsp直接输出json格式数据

package com.controller;

import com.pojo.Users;
import com.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Controller
public class UserController {

    @Autowired
    private IUserService ius;

    @GetMapping("/Users")
    @ResponseBody
    public List<Users> getAllUsers(){
        return ius.getAllUsers();
    }

    @GetMapping("/UserPage")
    @ResponseBody
    public List<Users> getUsersByPage(@RequestParam(name = "cp", defaultValue = "1") int cp,
                                      @RequestParam(name = "ps", defaultValue = "2") int ps){
        return ius.getUsersByPage(cp, ps);
    }


    @GetMapping("/UsersView")
    public String getUsersPage(Model m){
        m.addAttribute("list", ius.getAllUsers());
        return "users";
    }
}

6.4配置前缀和后缀

mvc:
  view:
    prefix: /WEB-INF/view/
    suffix: .jsp

6.5测试效果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值