0x01 新建SpringBoot项目

1. 新建maven工程

a. Spring Initializr -> DefaultProject SDK要自行装好并配置好)

在这里插入图片描述

b. GroupArtifact等可随意修改,注意修改此处Java Version为自己相应的版本(可能会默认是11),其他的使用默认即可:

在这里插入图片描述

c. 勾选Web(可能你的版本已经变为Spring Web)、Thymeleaf,项目会自动加上依赖:

在这里插入图片描述

在这里插入图片描述

d. 项目名称与项目位置,可自行修改:

在这里插入图片描述

e. 此处可能会显示此窗口,其实就是提示是否要新打开一个窗口显示而已,此处选哪个没关系:

在这里插入图片描述

点击后,IDEA右下角有滑条在跳动,其实是在下载相关依赖,稍等一会后就不再闪动了。

2. 编写HelloWorld程序代码

a. 新建一个HelloController类:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @Auther: 邵奈一
 * @Date: 2019/01/30 下午 4:36
 * @Description: HelloController控制器
 */
@Controller
public class HelloController {

    @RequestMapping("/")
    public String sayHello(){
        return "index";
    }
    
}

在这里插入图片描述

b. 在templates目录下新建一个index.html界面并添加代码:

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Hello World!
</body>
</html>

c. 点击绿色小箭头,然后打开浏览器,输入(localhost:8080),可看到:

在这里插入图片描述

0x02 引入ECharts资源

1. 获取JQuery与ECharts资源

a. 下载EChartsJQuery的js文件,并在static目录新建js文件夹,然后复制echarts.min.jsjquery-3.1.1.js到此文件夹:

ECharts地址:http://echarts.baidu.com/download.html
JQuery地址:https://jquery.com/download/

说明:现在的链接网页界面已经发生改变,大家可以不下载,直接引入CDN即可。

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/echarts/4.6.0/echarts.min.js"></script>

在这里插入图片描述

2. 新建ECharts模版html文件

a. 新建demo.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ECharts</title>
    <script src="js/echarts.min.js"></script>
    <!-- 如果你没有echarts.min.js文件,用下面的语句代替即可
	<script src="https://cdn.bootcss.com/echarts/4.6.0/echarts.min.js"></script>
	 -->
</head>
<body>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>

<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 指定图表的配置项和数据
    var option = {
        title: {
            text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
            data:['销量']
        },
        xAxis: {
            data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
        },
        yAxis: {},
        series: [{
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20]
        }]
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>
</body>  

3. 添加后台java代码

a. 在HelloController中添加myDemo方法:

@RequestMapping("/demo")
public String myDemo(){

	return "demo";
}

在这里插入图片描述

4. ECharts模版样式预览

a. 重启项目,打开浏览器(localhost:8080/demo),可看到:

在这里插入图片描述

0x03 SpringBoot整合Thymeleaf

1. 新建myECharts方法

a. 在HelloController中添加myECharts方法:

@RequestMapping("/echarts")
public String myECharts(Model model){

	String skirt = "裙子";
	int nums = 30;

	model.addAttribute("skirt", skirt);
	model.addAttribute("nums", nums);

	return "echarts";
}

在这里插入图片描述

2. 引入Thymeleaf

a. 复制一份demo.html,修改成echarts.html,在<html>添加Themeleaf相关信息(最后一步有总览图):
xmlns:th=www.thymeleaf.org

b. 引入jquery文件:

<script src="js/jquery-3.1.1.js"></script>

注意:如果没有jquery-3.1.1.js文件,则使用下面的语句代替:

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>

c. 在<div>下面添加代码:

<input type="hidden" th:value="${skirt}" id="skirt"/>
<input type="hidden" th:value="${nums}" id="nums"/>

d. 在<script type="text/javascript">里面添加代码:

var skirt=$("#skirt").val();
var nums=$("#nums").val();

e. 修改data的代码为变量skirt、nums:

xAxis: {
	data: [skirt,"羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},

series: [{
	name: '销量',
	type: 'bar',
	data: [nums, 20, 36, 10, 10, 20]
}]

在这里插入图片描述

f. echarts.html完整代码:

<!DOCTYPE html>
<html lang="en" xmlns:th=www.thymeleaf.org>
<head>
    <meta charset="UTF-8">
    <title>ECharts</title>
    <script src="js/echarts.min.js"></script>
    <script src="js/jquery-3.1.1.js"></script>
    <!-- 如果你没有相应的js文件,用下面的语句代替即可:
		<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
		<script src="https://cdn.bootcss.com/echarts/4.6.0/echarts.min.js"></script>
	 -->
</head>
<body>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>

<input type="hidden" th:value="${skirt}" id="skirt"/>
<input type="hidden" th:value="${nums}" id="nums"/>


<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    var skirt=$("#skirt").val();
    var nums=$("#nums").val();

    // 指定图表的配置项和数据
    var option = {
        title: {
            text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
            data:['销量']
        },
        xAxis: {
            data: [skirt,"羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
        },
        yAxis: {},
        series: [{
            name: '销量',
            type: 'bar',
            data: [nums, 20, 36, 10, 10, 20]
        }]
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>
</body>

3. ECharts新样式预览

a. 重启项目,打开浏览器(localhost:8080/echarts),可看到:

在这里插入图片描述

4. 模式升级

a. 将echarts.html的两行代码注释掉

<input type="hidden" th:value="${skirt}" id="skirt"/>
<input type="hidden" th:value="${nums}" id="nums"/>

b. 将这两行代码:

var skirt=$("#skirt").val();
var nums=$("#nums").val();

换成:

var skirt="[[${skirt}]]";
var nums="[[${nums}]]";

其实效果是一样的!请自己思考一下,为什么效果是一样的?!

0xFF 总结

本教程从HelloWorld开始,一步一步进阶为显示ECharts静态界面,再到接收后台传送过来的数据,整合了前后台Thymeleaf与SpringBoot,为开发非常重要的一步;需要特别注意路径问题。

需要自己学习一下HTML、CSS、JS的相关知识。

进阶教程请查看文章:SpringBoot JSON AJAX ECharts Fiddler实现前后端分离开发可视化(进阶篇),通过实战例子,技能包含JSON、Ajax、跨域问题解决等等。

到此这篇关于SpringBoot Thymeleaf ECharts实现大数据可视化(基础篇)的文章就介绍到这了,更多相关SpringBoot Thymeleaf ECharts可视化内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

SpringBoot+Thymeleaf+ECharts实现大数据可视化(基础篇)的更多相关文章

  1. 如何在Xcode 8中启用Visual Memory Debugger?

    我将项目从以前版本的Xcode迁移到Xcode8.我想要的是使用新的可视化内存调试器.它可用于新项目,但在我导入的项目中完全缺少.为什么是这样?

  2. Swift - 继承UIView实现自定义可视化组件附记分牌样例

    在iOS开发中,如果创建一个自定义的组件通常可以通过继承UIView来实现。下面以一个记分牌组件为例,演示了组件的创建和使用,以及枚举、协议等相关知识的学习。效果图如下:组件代码:scoreView.swift123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051importUIKitenumscoreType{caseCommon//普通分数面板Best//最高分面板}pr

  3. 使用自动布局可视化格式与Swift?

    我一直在试图使用AutolayoutVisualFormatLanguageinSwift,使用NSLayoutConstraint.constraintsWithVisualFormat。这里有一些例子,没有什么有用的代码,但就我可以告诉应该让类型检查器快乐:但是,这会触发编译器错误:“Cannotconverttheexpression’stype‘[AnyObject]!’totype‘St

  4. Instruments Swift教程:开始

    准备进入Instruments的精彩世界吧!你会发现Instruments可以让调试问题变得轻松的多!在指定的时间间隔上,Instruments会停止app执行并抽取每个线程上的栈帧记录。此外,Xcode9beta中使用模拟器进行Instrument也会导致一些问题。这会打开一个新的Instruments文档。但是,首先你应该看一下Instruments的当前报告。在当前TimeProfiler当中,只有一次instrument,因此只有一条轨迹。它显示了这次instrument的主要内容。

  5. Android – 如何创建家谱图(可视化)

    有大量的家庭树应用程序,但由于某种原因,我找不到如何为Android应用程序创建一个的示例.我是否使用画布,是否有图表库?

  6. android – GpsSatellite.getSnr() – 值范围是多少?

    我正在构建一个Sat-View,为可用的卫星及其信号强度绘制一个小条形图.javadoc没有说明SNR的预期值范围.NMEA-Standard表示0-99,但即使在最佳条件下,我的G1也没有达到该值.我还读到不同的制造商对SNR使用不同的值范围,对于Android设备也是如此吗?或者该平台上是否有统一的价值范围,如果是,它是什么?文档中缺少信息让我怀疑我只是从驱动程序中获得了“原始”SNR,在这种情况下我想知道:您认为什么是可视化未知值范围的最佳方法条形图?解决方法你找到了答案吗?

  7. Python可视化神器pyecharts之绘制地理图表练习

    这篇文章主要介绍了Python可视化神器pyecharts之绘制地理图表,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  8. 关于Word2Vec可视化展示

    这篇文章主要介绍了关于Word2Vec可视化展示,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  9. SpringBoot本地磁盘映射问题

    这篇文章主要介绍了SpringBoot本地磁盘映射问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  10. java SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源)

    这篇文章主要介绍了java SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部