当前位置 博文首页 > 程序员springmeng:SpringBoot一天快速入门,超级肝货!【一】

    程序员springmeng:SpringBoot一天快速入门,超级肝货!【一】

    作者:[db:作者] 时间:2021-08-10 09:58

    目前springboot已经成为主流的框架技术,为了帮助小伙帮更快的掌握SpringBoot,我们搞了SpringBoot的快速入门。

    所谓快速入门一定要快,不是三个月,也不是一个月,而是一天。

    视频的效果更好,因此视频也安排了。

    全部都进行了开源:

    SpringBoot一天快速入门

    1.Spring Boot概述

    Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。

    2.什么是 Spring Boot

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

    3.使用 Spring Boot 有什么好处

    回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:

    1)配置 web.xml,加载 spring 和 spring mvc

    2)配置数据库连接、配置日志文件

    3)配置加载配置文件的读取,开启注解

    4)配置mapper文件

    .....

    现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!

    但是如果使用 Spring Boot 呢?

    很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目或者是构建一个微服务!

    划重点:简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。?

    4.Spring Boot快速搭建

    4.1插件构建

    1)Eclipse—Help—Eclipse MarketPlace…Search输入STS,选择Spring Tools...

    ?

    2)new—other—Spring starter Project

    如果大家还是不会操作,看上面的视频比较详细一些。?

    如果用Idea开发工具,上面都不用操作了。

    groupId和artifactId是maven管理项目包时用作区分的字段,就像是地图上的坐标。

    groupId:groupId分为几个字段,例如com.piggy,前面的com叫【域】,后面的是你自己起的域名。

    artifactId:artifactId一般是项目名或者模块名。

    4.2 网站下载demo

    1) 访问 http://start.spring.io/

    2) 选择构建工具 Maven Project、Java、Spring Boot 版本以及一些工程基本信息。

    3) 点击 Generate Project 下载项目压缩包

    4) 解压后,Import -> Existing Maven Projects -> Next -> 选择解压后的文件夹 -> Finsh

    我们来了解一下默认生成的有什么:

    SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序

    SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文

    application.properties:一个空的 properties 文件,可以根据需要添加配置属性

    pom.xml: Maven 构建说明文件

    5.?项目结构介绍

    Spring Boot 的基础结构共三个文件:

    1) src/main/java?程序开发以及主程序入口

    2) src/main/resources?配置文件

    3) src/test/java?测试程序

    package com.dahaiwuliang.springboot.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * 测试控制器
     */
    @RestController
    @RequestMapping("/hello")
    public class HelloController {
    
    	@RequestMapping("/helloMethod")
    	public String hello() {
    		return "Hello Spring Boot !";
    	}
    }
    package com.dahaiwuliang.springboot.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /**
     * 测试jsp
     */
    @Controller
    @RequestMapping("/jsp")
    public class JSPController {
    
    	@RequestMapping("/gotoJSP")
    	public String gotoJSP(Model m) {
    		m.addAttribute("info", "Spring Boot后台传来的信息");
    		return "jspPage";
    	}
    }
    package com.dahaiwuliang.springboot.controller;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import com.dahaiwuliang.springboot.mapper.StudentMapper;
    import com.dahaiwuliang.springboot.pojo.Student;
    
    /**
     * Student 控制器
     */
    @Controller
    public class StudentController {
    
    	@Autowired
    	StudentMapper studentMapper;
    
    	@RequestMapping("/listStudent")
    	public String listStudent(Model model) {
    		List<Student> students = studentMapper.findAll();
    		model.addAttribute("students", students);
    		return "listStudent";
    	}
    }

    另外, Spring Boot 建议的目录结果如下:
    root package 结构:
    com.example.myproject

    com

    ? +- example

    ??? +- myproject

    ????? +- Application.java

    ????? |

    ????? +- model

    ????? |? +- Customer.java

    ????? |? +- CustomerRepository.java

    ????? |

    ????? +- service

    ????? |? +- CustomerService.java

    ????? |

    ????? +- controller

    ????? |? +- CustomerController.java

    ????? |

    cs