springboot+vue+element实现前后不分离的应用开发

news/2024/7/10 0:34:44 标签: springboot, vue, element

springbootvue是当前比较流行的前后端技术,也是部分大厂的主流架构。二者实现结合有三种方式:

  • 前后不分离,通过引入的方式使用vue,也就是本文实现的方式
  • 前后半分离,前后端项目写在一个项目里,分别搭建工程,可以参考:https://github.com/xichengxml/springboot-vue-template,前端项目也通过tomcat部署管理,后端工程师使用起来比较得心应手,且前端项目拆分时也比较方便。针对vue部署不是很熟悉或服务器资源有限的情况,建议采用这种方式
  • 前后分离。前后端分别搭建项目,不多介绍

实现方式:

  • 搭建springboot项目,注意引入web包和thymeleaf包

  • 配置静态文件目录,将静态文件映射到根目录下,在application.properties中添加spring.mvc.static-path-pattern=/**即可

  • 写一个视图映射配置类,单纯的页面跳转建议采用这种方式,可以避免写很多空的类和controller方法

    package com.xicheng.acitivi.config;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    /**
     * description
     *
     * @author xichengxml
     * @date 2019-09-22 10:50
     */
    @Configuration
    public class SpringMvcConfig implements WebMvcConfigurer {
    
        @Override
        public void addViewControllers(ViewControllerRegistry registry) {
            registry.addViewController("/").setViewName("index");
        }
    }
    
  • 下载vue.js(https://cdn.jsdelivr.net/npm/vue/dist/vue.js),element.js(https://unpkg.com/element-ui@2.13.2/lib/index.js),element.css(https://unpkg.com/element-ui@2.13.2/lib/theme-chalk/index.css),分别放到js、css目录下(本项目引入时通过新建了一个公共引入文件)

  • 新建一个index.html,放到templates目录下

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>首页</title>
    	<script src="/common/common-js.js" type="application/javascript"></script>
    </head>
    <body>
    <div id="app">
    	This is the index page of activiti!
    	<el-button type="primary">测试element组件</el-button>
    </div>
    
    <script>
    	new Vue({
    		el: '#app',
    		data: {
    			message: 'Hello Vue!'
    		}
    	})
    </script>
    </body>
    </html>
    
    • 启动项目,访问localhost:8080/即可
      项目目录结构:
      在这里插入图片描述
      项目参考代码:https://github.com/xichengxml/acitivi-demo

http://www.niftyadmin.cn/n/890967.html

相关文章

happens-before的官方解释

直接先把官方的内容粘贴过来&#xff0c;后续有时间翻译整理&#xff0c;参考链接 https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4.5 Two actions can be ordered by a happens-before relationship. If one action happens-before another, then t…

在pycharm中安装使用numpy

由于安装时花了较长时间&#xff0c;在此记录一下&#xff0c;避免下次踩坑 环境&#xff1a; windows 10 64位python 3.6pip3 以下命令在windows控制台下执行&#xff0c;不建议采用pycharm的terminal 有可能安装时提示需要升级pip, You are using pip version 10.0.1, howe…

记一次线上int溢出问题

今天吃完饭会办公室&#xff0c;突然接到群里的bug&#xff0c;线上预算数据出现了负值&#xff0c;如图 于是一路奔回办公室&#xff0c;各种分析日志逻辑&#xff0c;分析了5个小时无果&#xff0c;因为印象中int的范围是21亿&#xff0c; 而负值末尾是非零&#xff0c;因此…

git查看、修改本地账号和邮箱

打开git bash控制台&#xff0c;查看所有信息 $ git config --list单独查看用户或邮箱信息 $ git config user.name $ git config user.email修改用户信息或邮箱信息 $ git config --global --unset user.name "yourName" $ git config --global --unset user.ema…

如何查看自己的web项目中有多少Controller方法

示例代码如下&#xff1a; package com.example.demo;import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.junit.Test; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotat…

使用idea创建一个可执行jar包

创建项目 编写代码&#xff0c;本地调试 package com.xicheng.swing;/*** description** author xichengxml* date 2019-10-25 23:15*/import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent;public class Swing…

1085. Perfect Sequence (25)

//方法2 #include<cstdio> #include<algorithm> using namespace std; int maxn[100010]; int main() {int n0,p0;scanf("%d%d",&n,&p);int i0;for(i0; i<n; i)scanf("%d",&maxn[i]);sort(maxn, maxnn);int ans 1;for(i0; i&l…

如何在对外接口中合理地使用枚举

首先贴出阿里java开发手册华山版第39页的一句话 【强制】 二方库里可以定义枚举类型&#xff0c;参数可以使用枚举类型&#xff0c;但是接口返回值不允许使用 枚举类型或者包含枚举类型的 POJO 对象 关于这句话&#xff0c;讲一个业务场景&#xff1a;近期因业务发展&#xff…