第2集 SpringBoot一天速成 (SpringBoot)

说明:SpringBoot一天速成不是口号,而在于您的基础。
1.此演示目的就是为了让大家速成。口号:“快快快狠”。
2.具备半年以上"SSM框架+Maven"实战经验的开发人员
3.跟着此系列博文《SpringBoot一天速成》练习一遍
4.这套演练包括工程的:持久层、服务层、web层,采用Intellej idea工具。
5.所有源码和资料免费提供给读者,需要的留言。
6.笔者将实践过程中遇到的问题与大家分享,让大家少走弯路。(请阅读注释部分)

SpringBoot是干嘛的?“简化开发,独立运行”,瞄准的目标:微服务。下面是官方原话:

  Spring Boot makes it easy to create stand-alone, production-grade Spring based 
  Applications  that you can "just run". 
  We take an opinionated view of the Spring platform and third-party libraries     
   so you can get started with minimum fuss. Most Spring Boot applications need very 
   little Spring configuration.

*====>>> 接着第1集,此演练开始编写Web层内容:Controller和视图模板thymeleaf(替代jsp)*……
声明:@author:拈花为何不一笑,“这是一套演练对于细节方面,需要读者自己完善。”
Web层完成后的效果图(包涵笔者拙劣的.css)
在这里插入图片描述

在这里插入图片描述

要完成以上功能,需要编写以下代码
  1. pom.xml引入springmvc和thymeleaf(当然也可以在创建工程时使用Spring Initailizr初始化这两模块)

     <!-- 引入spring-boot-starter-web,那么就提供了SpringMVC支持了 -->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
    
     <!-- 视图模板使用thymeleaf -->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-thymeleaf</artifactId>
     </dependency>
    

    打开maven依赖,查看下spring-boot-starter-web依赖了哪些jar,如图:
    在这里插入图片描述

    再看看thymeleaf(目前这个模板的性能是相对比较差的)依赖了哪些jar,如下图:
    在这里插入图片描述

    2.在src/main/resources目录下分别创建两个目录:templates和static
    在这里插入图片描述

入口类
===>>> Springboot4Application.java

 package org.it.springboot4;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * SpingBoot(Spring、SpringMVC) + Mybatis 演练
 * 入口类,启动内置Tomcat服务器,初始化等。
 *  配置好文件后,启动服务器报ERROR:
 *      Warning:java: 无法找到类型 'org.junit.jupiter.api.extension.ExtendWith' 的注释方法 'value()':
 *      找不到org.junit.jupiter.api.extension.ExtendWith的类文件
 *  解决方案:    右键-->pom.xml-->Maven-->Reimport即可解决此问题
 */
@MapperScan("org.it.springboot4.mapper")//扫描包(Mybatis对应的mapper包)
@SpringBootApplication
public class Springboot4Application {


    public static void main(String[] args) {
        SpringApplication.run(Springboot4Application.class, args);
    }

}

2.1 templates中放thymeleaf模板文件(.html文件),这个模板的数据通常来源于Controller
响应的数据
2.2 static目录中放.js和.css及图片之类的数据
2.3 编写SpringMVC控制器EmpController.java(位置:org.it.springboot4.controller)
源码如下:

 package org.it.springboot4.controller;

import com.sun.org.apache.xpath.internal.operations.Mod;
import org.it.springboot4.entity.Emp;
import org.it.springboot4.entity.custom.EmpCustom;
import org.it.springboot4.service.EmpService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import java.rmi.MarshalledObject;
import java.util.List;
import java.util.Map;

/**
 *演示增删改查
 */
@RestController
@RequestMapping("/emp")
public class EmpController {

    private Logger empLog = LoggerFactory.getLogger(EmpController.class);

    @Autowired
    private EmpService empService;

    //访问url: http://localhost:8080/emp/3
    @GetMapping("/{id}")
    public ModelAndView findEmpById(@PathVariable("id") Integer empno){
        ModelAndView modelAndView = new ModelAndView();
        Emp emp = empService.getEmpById(empno);
        modelAndView.addObject("emp",emp);
        modelAndView.setViewName("emp");//springboot中thymeleaf默认后缀.html,服务器转发至/emp.html中
        return modelAndView;
    }


    //1.此方法getEmpByDeptnoSal对应的sql,还可以查询员工列表信息(当不含任何查询条件时),所以这里就不写员工列表方法了
    //2.在templates目录下创建模板empList.html文件,具体内容参阅empList.html
    @GetMapping("/empList")
    public ModelAndView findEmpList(EmpCustom empCustom){
        ModelAndView modelAndView = new ModelAndView();
        //这里使用Map来替换javaBean(比如Emp),用法有点类似于ibtis存储过程或jdbc存储过程 Map作为既作为参数又同时存储返回的结果数据,
        // 这里是一个个的Map.Entry对象,是一种键值对数据,其实返回的javaBean也是通过成员属性来存储值的,键是属性名值是值本身。.
        List<Map> emps = empService.getEmpByDeptnoSal(empCustom);
        modelAndVi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值