08 2021 档案
摘要:演示一下 把 baseURL抽取出来 并且 设置超时时间timout【单位毫秒】:
阅读全文
摘要:axios 对象有个方法叫all,参数是个数组,可以实现多个axios同时请求,他返回的结果也是一个数组,各个结果 对应各个的请求: 多个都是可以的 可以看到打印的结果 是两个都是对应的 分割数组: 并发很多请求返回的是结果数组,那么我们可以直接要获取就需要 用到下标,,,如果不方便用下标的话 我们
阅读全文
摘要:你要用axios 肯定要先安装框架的,所以这里npm安装框架: npm install axios --save http://www.httpbin.org/ 这个网站是给我们测试请求那些用的,,,非常良心 推荐测试用这个可以。 安装后直接导入 然后直接用即可:【下面演示最简单的交互 默认GET
阅读全文
摘要:原生ajax、 jQuery-ajax 、Vue-resource【N年前就不更新了】、axios 我们肯定是选axios ,因为是vue官方推荐的: 在前端开发中, 我们一种常见的网络请求方式就是JSONP 使用JSONP最主要的原因往往是为了解决跨域访问的问题. JSONP的核心在于通过<scr
阅读全文
摘要:Vue使用单一状态树,那么也意味着很多状态都会交给 Vuex来管理.当应用变得非常复杂时,store对象就有可能变得相当臃肿 为了解决这个问题, Vuex允许我们将store分割成模块 (Module), 而每个模块拥有自己的state、mutation、 action、getters等 当然这种写
阅读全文
摘要:我们知道 JS 函数 settimeout 是异步操作 函数,我们尝试用Mutation 执行,然后看看结果: 运行发现 一秒后确实改变为了BiHu ,但打开调试工具发现虽然渲染改变了 ,但是数据 name 还是 'Null' ,截图查看详情: 所以我们总的来说,异步操作别用在Mutation中改变
阅读全文
摘要:在mutation中, 我们定义了很多事件类型(也就是其中的方法名称).当我们的项目增大时, Vuex管理的状态越来越多, 需要更新状态的情况越来越多, 那么意味着Mutation中的方 法越来越多.方法过多, 使用者需要花费大量的经历去记住这些方法, 甚至是多个文件间来回切换, 查看方法名称, 甚
阅读全文
摘要:现在我的state中的变量user 有一个人: 我需要添加一个属性给他,即:【这里不用JS函数】 运行发现 页面并没有添加这个address,但是肖丽雅的属性中是包含address的,说明这没有做到响应式: 所以这种方式是做不到响应式的,除了JS函数 还可以这样: VUE.set(xx,yy,zz)
阅读全文
摘要:在 spring-boot-autoconfigure\1.5.9.RELEASE\spring-boot-autoconfigure-1.5.9.RELEASE.jar!\org\springframework\boot\autoconfigure\web\EmbeddedServletConta
阅读全文
摘要:Mutation 之前说过是用来改变state中的值的,那么他本身就有一个变量叫 state ,就是state对象,那么现在可以给他添加参数: 现在的state有个变量num 是100 我们自定义给他改变X: 看代码即可: <template> <div id="app"> <h1>简单计数器:</
阅读全文
摘要:一对一查询 我们这里做一个 用户表对订单表,即 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 我们准备工作 建表、Bean、核心配置文件、映射文件 这里省略, 执行命令: 然后我们Bean: package com.bihu.Bean; import java.util.Date;
阅读全文
摘要:MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据: 开发步骤: ① 导入通用PageHelper的坐标 ② 在mybatis核心配置文件中配置PageHelper插件 ③ 测试分页数据获取 1.导入分页助
阅读全文
摘要:我们之前自己写过一个Servlet容器 ,EmbeddedServletContainerCustomizer ,直接加入到SpringBoot容器即可,他默认是Tomcat ,我们可以选中他 按 Ctrl + h 查看树,然后就可以发现 : SpringBoot 默认支持3个Servlet容器,默
阅读全文
摘要:MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用 类型处理器将获取的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器(截取部分): 你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。
阅读全文
摘要:getters 是用来存放state更换后的状态的,是用来定义函数的,目前我知道的 : 每个函数都有两个参数,第一个是state,第二个是本身getters 【多一个都不行的 !】。 案例:我state中有一个num是9,有几个组件想取num的平方,如果直接修改是不可观的,因为有些取有想对它做其他操
阅读全文
摘要:Vuex提出使用单一状态树, 什么是单一状态树,英文名称是Single Source of Truth,也可以翻译成单一数据源. 类似你的各种信息 是被各部门收集的,这样分开虽然很安全,但是不好维护管理。【如果你的状态信息是保存到多个Store对象中的,那么之后的管理和维护等等都会变得特别困难】 V
阅读全文
摘要:附图1. 现在我有一个计数器,是在 state里面定义的count,初始是1000,这样的话 所有的组件都可以 直接访问$store.state.count 即可访问到,但是+和-逻辑是这样写的: import Vue from 'vue' import Vuex from 'vuex' Vue.u
阅读全文
摘要:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 它采用 集中式存储管理 应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快
阅读全文
摘要:为什么要用promise ,为了代码的健壮性??? 【防止递归地狱】可能吧: Promise是一个构造函数,所以可以 new 出一个Promise的实例,然后里面有一个参数,这个参数里面有 两个参数 都是回调函数,分别是: resolve (成功之后的回调函数)和 reject (失败后的回调函数)
阅读全文
摘要:由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文 件。 注册三大组件用以下方式: 分别是3个组件: 1 . ServletRegistrationBean:servlet 2. FilterRegistratio
阅读全文
摘要:SpringBoot自带TomCat ,所以这里可以看出他的依赖, 修改嵌入式TomCat的配置: 我们可以直接在配置文件中修改: 我们跟进去发现到达一个 ServerProperties 类,然后里面配置了很多相关配置。 所以通用的servlet容器设置就是: server.XXXXX=YYY 因
阅读全文
摘要:这个很简单 用到两个标签,一个是sql标签 一个是include标签, sql标签中有一个属性叫 id inclide标签中有一个属性叫 refid 我下面代码给出 例子 ,下面的代码是一个映射文件,其中抽取了SQL语句的 select * from user <?xml version="1.0"
阅读全文
摘要:SELECT * from user where id in(1,2,4) 这个语句就是 查找 id = 1 或 id = 2 或 id = 4 。 那就可以用<foreach> 这个标签来写: 其中他的属性我先列举: 标签用于遍历集合,它的属性: • collection:代表要遍历的集合元素,注
阅读全文
摘要:如果你是vuecli2 的,直接在build 里的 webpack.config.js文件中取即可: 其中 @ 是无论什么版本都配置好的,,,,如果不是vuecli2 是3 或4 那么你就得去下面的文件看看设的是什么,具体怎么修改我也不知道.... vuecli3 and vuecli4 的webp
阅读全文
摘要:如果组件需要引入样式,直接: @import即可。 一般tabbar的控件高度是49px 是专门研究过的?? 总之49px即可! 开发阶段, 分解TabBar,结合插槽(div 因为插槽会覆盖),所有代码如下 注释已写出: 这里是项目结构,, APP.vue: <template> <div id=
阅读全文
摘要:第一种方法: 1、自己写一个运行时异常 然后故意出现这个异常抛出异常【测试】 然后自定义一个异常解析器即可: package com.bihu.component; import com.bihu.Exception.UserNonExistentException; import org.spri
阅读全文
摘要:学习之前 ,你可以吧log4j日志打开,级别调为DEBUG。 动态SQL语句 Mybatis 的映射文件中,有些时候业务逻辑复杂时,我们的 SQL是动态变化的, 此时在前面的学习中我们的 SQL 就不能满足要求了, 主要有这几个标签实现动态SQL语句的编写: 动态 SQL 之 if : 我们根据实体
阅读全文
摘要:Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口),由Mybatis 框架根据接口定义创建接 口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。 Mapper 接口开发需要遵循以下规范: 1、 Mapper.xml文件中的namespace与mapper接
阅读全文
摘要:keep-alive 这是个标签,了解vue生命周期的话,我们知道组件也是一样,会执行一遍生命周期,组件每次都要创建/销毁 和一系列的操作 ,损耗肯定会变很大,所以我们这里的<keep-alive>标签可以使我们之前的组件缓存下来,不会执行很多次 生命周期,只会执行一次。 我们只需要把 <route
阅读全文
摘要:就是 如果你想跳转路由的时候干点什么 那么就用导航守卫,例如更换标题,当然你可以用生命周期函数,在我看来不切实际。 点击首页标题换首页 ,点击个人 标题换个人: 全局导航守卫 vue-router提供的导航守卫主要用来监听路由的进入和离开的. vue-router提供了beforeEach和afte
阅读全文
摘要:route 我们之前用来取值 router 我们之前用来作路径跳转 所以我们打印一下: 运行截图: 不难发现 其实他们的区别就是: 一个是总路由对象 所以才可以实现路由更新 一个是活跃路由对象 所以才可以实现从中获取值 获取参数等... 有兴趣可以看下源码 其实....前段就是那么烦人
阅读全文
摘要:z当我们发生错误 ,会映射这样一个页面: 如果我通过Postman去访问这个错误,就会返回一段JSON代码: 这原因很简单 是因为 浏览器的请求头携带了 text/html 表示用html来处理显示这个错误 客户端的请求是 */* 的,所以这些都是SpringBoot内部的一些定义的: ErrorM
阅读全文
摘要:传递参数主要有两种类型: params和query 第一种就是在配置路由映射路劲path后面添加 :/变量 那种就是 params 主要携带单个参数,传递后形成的路径: /router/123, /router/abc。 第一种也成为动态路由,之前讲过 这里主要讲第二种: 第二种可以携带多参数的,在
阅读全文
摘要:比如在home页面中, 我们希望通过/home/news 访问新闻 而 /home/message访问一些内容,即:一个路径映射一个组件, 访问这两个路径也会分别渲染两个组件. 思维分析: 那么其实就是分两步走: 1.创建对应的子组件, 并且在路由映射中配置对应的子路由. 2.在组件内部使用标签 先
阅读全文
摘要:当打包构建应用时,Javascript 包会变得非常大,影响页面加载,正常会打这几个包:【执行打包命令可以看】: 可以发现 他是 css、js、html 分开打包,我们看看他的JS有什么: 一般来说 是这样的3个基础文件: 一个是 自己写的业务代码JS, 【一般叫 app.xxxxx.js】 一个是
阅读全文
摘要:在某些情况下,一个页面的path路径可能是不确定的,比如我们进入用户界面时,希望是如下的路径: https://xxx/YYY/XXX/Username , 即:后面还跟上了用户名 或 ID 这种path和Component的匹配关系,我们称之为动态路由(也是路由传递数据的一种方式)。、 对于这种写
阅读全文
摘要:1.tag 属性 router-link 这个标签如果我们不想让他渲染成 a标签 ,那么我们就可以 tag 属性 ,可以自定义渲染成自己想要的组件: 可以发现 a 标签渲染成了 按钮。 2.replace属性 我们发现 你点击了router-link 标签 然后跳转切换视图的时候,他默认保留历史的
阅读全文
摘要:Mybatis 核心配置文件中, configuration 标签下其实有那么多子标签来配置Mybaties:\ MyBatis常用配置解析: 1. environments标签 数据库环境的配置,支持多环境配置, 其中,事务管理器(transactionManager)类型有两种: • JDBC:
阅读全文
摘要:这里不连接数据库 直接通过控制器判断 和 SpringMVC 拓展实现: 学习目标: 1 . 转发 和 重定向,这里会详细说明; 2. 拦截器的定义 和 注册 3. thymeleaf 的一些绑定(略将 其实直接去取数据即可) 最后的项目结构: 1. 登录功能的实现: package com.bih
阅读全文
摘要:使用路由大概步骤: 1.新建一个包含路由组件的vue项目,当然你也可以用命令安装: 命令安装路由【个人推荐直接新建脚手架的时候选中即可】: npm install vue-router --save 2.在模块化工程中使用它(因为是一个插件, 所以可以通过Vue.use()来安装路由功能) 导入路由
阅读全文
摘要:路由是一个网络工程里面的术语。路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动. 维基百科 路由器提供了两种机制: 路由和转送. 路由是决定数据包从来源到目的地的路径. 转送将输入端的数据转移到合适的输出端. 生活中的路由: 路由中有一个非常重要的概念叫路由表. 路由表本质
阅读全文
摘要:如果我们在SoringMVC 写国际化 ,那么肯定是 编写国际化配置文件 然后 使用ResourceBundleMessageSource管理国际化资源文件 ,在JSP页面使用fmt:message取出国际化内容. 我们的目标是把上面国际化 现在用SpringBoot写,我们先写 国际化配置文件pr
阅读全文
摘要:index 页面是个登录页面 ,现在它位于template文件夹下,但是template文件夹是被 Thymeleaf模板 解析的,并不是静态,直接访问不了,所以我们就得 配置控制器或者用拓展功能写请求视图: 配置控制器返回视图: package com.bihu.controller; impor
阅读全文
摘要:你在终端写 vue ui 即可进入, 一般都不在这里创建项目,一般都是直接导入,然后看项目详细: 所以一些依赖和插件 你完全可以图形化安装! 很方便啊!这里面什么都能配!!! 隐藏的配置文件哪里去了?????打开 vuecli3:node_modules -> @vue -> cli-service
阅读全文
摘要:我的vue版本的4 的 但是很多教程都是讲3 下面讲解下: vue create project-one (这个图是网上随便找的 因为我.....这步跳过了....可以明显发现版本不对) 一般都是手动选一下啊 3也是一样的,那就是最后一个选项了 Manually select features: 第
阅读全文
摘要:我们用 VUE2 那个 vue init webpack new_project 创建后是这样的: 上面那个是没选esLine 代码规范。 详解: 所以 里面的webpack 配置你有空可以去研究,发现里面很多也是通过 配置合并 static 这个目录下是放静态文件的 比如图片啊什么的 .babel
阅读全文
摘要:数据库是 test,表是user,,Bean那些已经准备好 自己去get and set 和 toString 等.. 1、导入gav 2、编写配置文件(核心配置 和 映射配置) 我们学了最基础的 查询。现在操作 增加操作: 核心配置文件: <?xml version="1.0" encoding=
阅读全文
摘要:编写一个配置类(@Configuration),继承WebMvcConfigurerAdapter类型;不能标注@EnableWebMvc:既保留了所有的自动配置,也能用我们扩展的配置; 如下代码:【拓展 请求 映射 页面 功能】 //使用WebMvcConfigurerAdapter可以来扩展Sp
阅读全文
摘要:1、导入thymeleaf的名称空间 <html lang="en" xmlns:th="http://www.thymeleaf.org"> 导入了就会有提示 其实就是为了提示嘛.. 2、使用thymeleaf语法: package com.bihu.springboot.Control; imp
阅读全文
摘要:模板引擎类似于 JSP ,就是数据渲染显示那样的页面... 有很多种模板引擎,例举: JSP、Velocity、Freemarker、Thymeleaf。。。 我们这用SpringBoot 推荐的 Thymeleaf; 功能强大又好用语法更简单。 我们引入thymeleaf的 GAV: <depen
阅读全文
摘要:使用SpringBoot WEB 开发 简单来说是以下步骤: 1)、创建SpringBoot应用,选中我们需要的模块; 2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 3)、自己编写业务代码; 所以我们需要了解 SpringBoot 的 自动配置原
阅读全文
摘要:官网说很多种方式,这里命令的方式, 你想在哪里创建CMD命令窗口 就 进入到哪里的目录,然后: 因为这里用的是脚手架2来装 所以命令是: vue init webpack XXXX 其中XXX是项目名 其次呢 不要是中文 而且 里面貌似不能有大写字母 这里在 这个 hbuiderX里面新建 反正这个
阅读全文
摘要:Vue CLI 就是脚手架了 如果网络出错超时频繁 推荐用 淘宝镜像 非常快! 使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情 CLI是Command-Line Interface, 翻译为命令行界面, 但是俗称脚手架 Vue CLI是一个官方发
阅读全文
摘要:MyBatis开发步骤: ① 添加MyBatis的坐标 ② 创建user数据表 、 ③ 编写User实体类 ④ 编写映射文件UserMapper.xml ⑤ 编写核心文件SqlMapConfig.xml ⑥ 编写测试类 提示: 凡是有关数据库开发 我们都得导入JDBC 哦 这个小尝试要知道 下面分别
阅读全文
摘要:JAVAWEB 原始 对数据库操作 发展是 原始JDBC 后面才来了一堆框架 比如:C3P0 、 什么什么的... 原始JDBC 的主要缺点还是: ① 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能 ② sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql
阅读全文
摘要:webpack提供了一个可选的本地开发服务器,这个本地服务器基于node.js搭建,内部使用express框架,可以实 现我们想要的让浏览器自动刷新显示我们修改后的结果。 不过它是一个单独的模块,在webpack中使用之前需要先安装它: npm install --save-dev webpack-
阅读全文
摘要:在项目发布之前,我们必然需要对js等文件进行压缩处理,我们就对打包的js文件进行压缩,我们使用一个第三方的插件uglifyjs-webpack-plugin,并且版本号指定1.1.1,和CLI2保持一致。 修改webpack.config.js文件,使用插件: const uglifyJsPlugi
阅读全文
摘要:其实没必要去更换 如果你实在是想换 那么看着下图排除指定的依赖 然后倒入指定的替换包(依赖) 即可: 记住是 排除依赖 查看依赖图 右键 可以直接排除 手动需要用到 <exclusions> 中 的 <exclusion>. 然后在指定位置导入替换包 ,按照图来导即可。。。。 如果你想更换默认的 s
阅读全文
摘要:我们的index.html文件是存放在项目的根目录下的。但是 在真实发布项目时,发布的是dist文件夹中的内容,但是dist文件夹中如果没有index.html文件,那么打包的js 等文件也就没有意义了 所以,我们需要将index.html文件打包到dist文件夹中,这个时候就可以使用HtmlWeb
阅读全文
摘要:'使用一个最简单的插件,为打包的文件添加版权声明,该插件名字叫BannerPlugin,属于webpack自带的插件。 按照下面的方式来修改webpack.config.js的文件: 其实就是 最上面定义的 const path 和 最下面的 plugins 可以看到 其实就是写 : plugins
阅读全文
摘要:SpringBoot默认帮我们配置好了日志; 下面我们使用:【我们在SpringBoot测试类写】: 级别: trace < debug < info < warn < error package com.example.demo; import org.junit.Test; import org
阅读全文
摘要:我们随便新建一个SpringBoot项目,进入依赖 看下依赖图 【这里不多说】,, SpringBoot的底层就是用了 slf4j ,实现用了 logback吗, 我们随便选一个 研究看看他的中间包:【这里选的是 jcl-over-slf4j】 可以看到 包名都没换,偷梁换柱! 换的是什么呢,点进去
阅读全文
摘要:日志就是记录项目运行时检测情况的,把关键数据记录,方便维护协助等/// 市面上的日志框架 JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j.... 左边选一个门面(抽象层)、右边来选一个实现; 我们这样选:【因为好用 而且 考虑了稳定性 【 你可以去了
阅读全文
摘要:如果我们希望将data中的数据显示在界面中,就必须是修改index.html,如果我们后面自定义了组件,也必须修改index.html来使用组件,但是html模板在之后的开发中,并不希望手动的来频繁修改. 定义template属性: 在前面的Vue实例中,我们定义了el属性,用于和index.htm
阅读全文
摘要:在我们的webpack环境中集成Vuejs: 我们希望在项目中使用Vuejs,那么必然需要对其有依赖,所以需要先进行安装,因为我们后续是在实际项目中也会使用vue的,所以并不是开发时依赖: npm install vue --save 然后你就可以在JS文件中【一般有 new Vue 都要写 , 或
阅读全文
摘要:include:导入 exclude:排除 npm install --save-dev babel-loader@7 babel-core babel-preset-es2015 { test: /\.m?js$/, exclude: /(node_modules|bower_components
阅读全文
摘要:讲解自动配置类的时候 有很多@Conditional派生注解,现在讲解其作用: @Conditional派生注解(Spring注解版原生的@Conditional作用): 必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效; 自动配置类必须在一定的条件下才能
阅读全文
摘要:本文章诠释SpringBoot 自动的 核心,那就是整合自动配置,这里诠释原理 和 学习认识一些我们没看过的 "注解" 。 SpringBoot 在启动的时候 会自动加载 主配置 类, 然后开启了自动配置功能 @EnableAutoConfiguration 【这里看源码】 注意 这里的父组件自己导
阅读全文
摘要:SpringBoot也可以从以下位置加载配置; 优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会 形成互补配置 1.命令行参数 所有的配置都可以在命令行上进行指定 例: java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --se
阅读全文
摘要:如果你在CSS中引用了图片,那么: 这里两张照片 1张a 一张b a是大于8KB b 是小于8KB的: 直接打包会报错 我们需要 图片处理,我们使用url-loader来处理,依然先安装url-loader: npm install --save-dev url-loader 安装即可 版本自己加
阅读全文
摘要:如果我们希望在项目中使用less、scss、stylus来写样式, 我们这里以less为例,其他也是一样的。 我们还是先创建一个less文件,依然放在css文件夹中: 这里 创建了 Less 并且 写了 样式。 老样子 我们在入口写入依赖 让webpack解析并打包: 然后我们安装 对应的 load
阅读全文