关于spring:springboot基本框架搭建零基础教程对新手极为友好

44次阅读

共计 4478 个字符,预计需要花费 12 分钟才能阅读完成。

Idea 创立 spring boot 我的项目(应用 MySQL 数据库)

关上 Idea 软件。

点击 New Project 创立一个新的我的项目
抉择 Spring Initializr 创立 spring boot 我的项目,其中须要抉择 jdk(Java Development ToolKit, 是 Java 语言开发工具包)的版本,其余的选项默认。
点击 next。

点击 next 会呈现这个界面,Group 为我的项目域,Artifact 为我的项目名。

例如,图示中,com.example,为 example 示例的域名,demo 为示范项目名称。
因为我的 jdk 版本为 1.8,所以 java version(java 版本)抉择 8。其余的默认即可。
点击 next

抉择依赖。

  • springboot 版本抉择 2.4.4
  • 抉择 Developer Tools 下的 Spring Boot DevTools
  • 抉择 Web 下的 Spring Web
  • 抉择 SQL 下的 MyBatis Framework 和 MySQL Driver
  • 点击 next

抉择我的项目存储目录,点击 Finish。

简略的 springboot 我的项目(基于 SSM 框架:Spring+SpringMVC+MyBatis)

配置 application.properties

//MySQL 驱动
spring.datasource.driverClassName=com.mysql.jdbc.Driver
//MySQL 地址, 其中须要填写 ip 地址,如若是本地则填写 localhost,如若为服务器,则填写服务器的 ip 地址。//MySQL 端口为 3306
// 填写数据库名称。spring.datasource.url=jdbc:mysql://ip 地址:3306/ 数据库名?characterEncoding=utf8&serverTimezone=UTC&rewriteBatchedStatements=true
// 数据库的登录用户名
spring.datasource.username=root
// 登录明码
spring.datasource.password=root
//springboot 运行端口为 8888,默认个别为 8080,能够本人抉择。server.port=8888

创立包名

在项目名称下新建四个包。

  • bean 放实体类,对应数据库中的关键字段
  • dao 放 mapper 文件,数据拜访层,与数据库进行交互。
  • service 业务层,实现业务逻辑性能。其下还有一个 Impl 包,实现 service 的具体实现类。
  • controller 业务管制层,前端所须要的接口就在这一层实现。(为了便于了解,咱们在新建 web 包下在新建一个包 controller)

(三)、创立对应的代码

在理论开发者,controller 是进行前后端交互的,后端给前端提供绝对应的接口,controller 层调用 service 层,service 调用 dao 层对数据库进行查问,把数据贮存到 bean 包下的 user 对象中。例如:
UserController——>UserService——>UserServiceImpl 实现 UserService 中的办法——>UserMapper 查问数据
最初将查问到的数据,new 一个 User 来存放数据。

对应的代码如下:

bean

package com.example.demo.bean;
/**
 * @author tth
 * @date 2021/4/4
 */

// 对应数据库中的 id、name、age、gender。public class User {
    private Long id;
    private String name;
    private Integer age;
    private String gender;

    public Long getId() {return id;}

    public void setId(Long id) {this.id = id;}

    public String getName() {return name;}

    public void setName(String name) {this.name = name;}

    public Integer getAge() {return age;}

    public void setAge(Integer age) {this.age = age;}

    public String getGender() {return gender;}

    public void setGender(String gender) {this.gender = gender;}
}

dao

package com.example.demo.dao;

import com.example.demo.bean.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;


/**
 * @author tth
 * @date 2021/4/4
 */
// 应用注解形式进行数据库数据的查问,留神看是否引入 org.apache.ibatis.annotations.Select 包
public interface UserMapper {@Select("select  * from test_user")
    List<User> query();}

service

package com.example.demo.service;

import com.example.demo.bean.User;

import java.util.List;

/**
 * @author tth
 * @date 2021/4/4
 */


public interface UserService {
    // 业务办法申明
    List<User> query();}

serviceImpl

package com.example.demo.service.Impl;

import com.example.demo.bean.User;
import com.example.demo.dao.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
/**
 * @author tth
 * @date 2021/4/4
 */

//UserService 的具体实现类,记得加上 @Service 注解,否则会报错。@Service
public class UserServiceImpl implements UserService {
    // 调用 UserMapper 查问数据
    //@Resource 或者 @Autowired 注解都可
    @Resource
    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> query() {
        // 调用 UserMapper 中的 query 办法,返回一个 List,类型为 User,为了代码简洁,就不须要定义两头变量。// 如:List<User> user = userMapper.query();
        //    return user;
        return userMapper.query();}
}

controller

package com.example.demo.web.controller;

import com.example.demo.bean.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
/**
 * @author tth
 * @date 2021/4/4
 */
@RestController
@RequestMapping("/User")
public class UserController {
    @Autowired
    private UserService userService;
    // 表明这是一个 get 类型的申请,其余的还有 post、delete 等。@GetMapping("query")
    public List<User> query(){return userService.query();
    }
}

留神!留神!留神!
咱们还须要在 DemoApplication 加上一个注解 @MapperScan,否则我的项目还是会报错。或者应用一个 mybatis 注解类。

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// 这个注解十分重要,须要让 springboot 晓得你的 mapper 文件寄存在哪个目录下
@MapperScan("com.example.demo.dao")
@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);
    }

}

我的项目运行

右击 DemoApplication 文件,点击 Run“DemoApplication”以运行我的项目。

运行胜利后,关上浏览器,输出 http://localhost:8888/User/query 其中
http 为协定,
localhost 为本地 ip,
8888 为运行端口,
User 为 controller 层的 @RequestMapping 括号后的字符串,就相当于根目录一样,
query 为 controller 层的 @GetMapping 括号后的字符串,相当于根目录下的 query 办法

最初

在文章的最初作者为大家整顿了很多材料!包含 java 外围知识点 + 全套架构师学习材料和视频 + 一线大厂面试宝典 + 面试简历模板 + 阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题 +Spring 源码合集 +Java 架构实战电子书等等!
有须要的敌人欢送关注公众号:前程有光,支付

正文完
 0