自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 section与div

section标签是html5才有的,看了许多资料,感觉讲的挺扯淡的,它的本质就是div,有区别吗?当然有啊,用了section就可以直接知道页面上有一个章节内容区域,直接看div能知道里面有什么吗?为什么会产生出section这个标签呢?目的就是为了标签更加语义化,因为语义化标签是一个趋势,html5在逐渐弥补这个不足,如果还是老传统,就会被其它更加便捷的前端语言甩开几条街,以后越来越多...

2019-12-31 17:30:30 228

原创 box与row样式

想要验证某种结果,查资料看别人写的真不如自己去研究一番去总结出来1.什么场景下用box样式?具有头、主体、尾部的内容容器<div class="box"> <div class="box-header">...</div> <div class="box-body">...</div> <div...

2019-12-30 17:40:01 973

原创 BootStrap-网页的布局介绍

刚开始写,最主要的先能够确定布局,先确定上中下,三个部分的样式完全可以分别用container或者container-fluid样式,左右两侧留白就用container,如果想要占满屏幕就用container-fluid,把三个div看做是三个容器,就用容器样式填充。确定了整体的页眉,主体,页脚,再在各个容器部分中利用栅格思想确定局部内的布局,主要使用的样式就是row和col-md-x1....

2019-12-29 10:25:45 819

原创 BootStrap-常用css样式

按钮: 元素为<button>,也可以是<a> class="btn btn-default"图片:元素为<img> class="img-responsive" 图片在屏幕缩放尺寸中,此图片都能占满当时尺寸的屏幕,如果没有这个属性,缩小屏幕后, 只能看到部分 i...

2019-12-28 16:32:26 189

原创 BootStrap-栅格

步骤:1.定义容器,相当于以前的table容器分类使用:container:不论在哪种设备上,距离屏幕左右两侧都会流出一定的空白间距,没有占满,看起来不是很紧凑,舒适 container-fluid:宽度占满了整个屏幕,每一种设备都是100%的宽度2.定义行,相当于tr 样式使用:row3.定义元素,相当于td,指定该元素...

2019-12-28 15:14:14 132

原创 BootStrap使用

1.下载 用于生产环境的BootStrap,此页面上方标题栏:全局css样式,可以在线查看想要的样式效果,下载好的里面有三个文件夹:css,js,fonts2.复制到项目的resources-static下3.将静态资源css和js引入到自定义的html页面中 3.1css和js文件分为,如:bootstrap.css和bootstrap.min.css,这两个有啥区别?...

2019-12-28 11:31:24 375

原创 thymeleaf引入header,aside,footer公共页面

1.这些公共片段都单独提取出来header.html,aside.html,footer.html2.先看jsp中的写法,对比一下<jsp:include page="header.jsp"></jsp:include>能否这样写:<th:include page="header.html"></th:include>?不可以!...

2019-12-27 15:39:10 3022

原创 thymeleaf引入外部css和js

存放位置:resources/static/原路径写法:href,src修改为:th:ref th:src格式: @{/ }静态资源默认就是在static下面存放,thymeleaf引擎也是从static下面去读取解析<link rel="stylesheet" th:href="@{/plugins/bootstrap/css/bootstra...

2019-12-27 11:40:29 2066

原创 thymeleaf基本语法

模板引擎:jsp velocity freemarker Thymeleaf思想都是一样的,先写一个静态页面模板,动态内容用表达式来写,数据控制器提供,然后把数据和页面模板交给引擎,把表达式解析,数据填充到对应的位置,进行显示1.导入依赖2.导入名称空间<html xmlns:th="http://www.thymeleaf.org">也可以不用导入,导的目的就是...

2019-12-27 11:32:02 213

原创 shiro中权限授权的两种方式

1.在controller的方法上面使用注解,但是如果没有权限会抛出异常,要自定义一个异常处理类2.自定义配置类,利用过滤器对路径限定,权限不足,跳转到指定的登录页面,抛出一个提示信息...

2019-12-16 16:04:53 244

原创 shiro中的注解

@RequiresPermissions("user-home")放到controller的方法上面,表示访问此方法必须具备一定的权限@RequiresRoles() 访问此方法必须具备的角色

2019-12-16 15:02:30 125

原创 访问路径的过滤控制

应用场景:大部分公开的网站可以不用登陆就可以浏览,但是评论,或者购买就要登陆,这个时候对应都技术上就需要进行页面路径的过滤思路:这里采用shiro,在web的应用程序当中,shiro是采用过滤器的形式对每一个url进行拦截,拦截到了之后,根据过滤器配置的不同,如anon,autho,进行不同的处理利用一个map,key是拦截的url路径集合,value是过滤器类型Map<...

2019-12-16 14:35:17 418

原创 @Bean

@Beanpublic CustomBean getRealm(){ return new CusomRealm();}标记了@Bean,还要手动创建构造方法,返回对象,才会交给spring管理其它地方才能用@Autowired注入进去该属性对象...

2019-12-16 11:35:14 68

原创 shiro

认证:登录 Authentication授权:是否有菜单或者按钮的访问权限 Authorization 权限验证,验证某个已经认证的用户是否具有某个权限,能做哪些事情加密:对登录密码的加密算法,不能用明文 Cryptography 密码加密存储到数据库会话管理:session Session management 会话管理,即用户登录后就是一...

2019-12-15 22:07:33 64

原创 异常的全局处理

方法中抛出了异常,全局处理后就会捕获到异常,把异常转化为能够识别的json数据,并且页面进行响应

2019-12-15 21:40:26 110

原创 @RequestBody

如果API文档中请求的参数在请求体中,那么controller的对应方法中就要在参数中加上@RequestBody,表示把请求体的内容封装成对象。如果API文档中的内容是与实体类中属性对应,那么直接用实体类作为参数。如果是与多个实体类中的部分字段对应,那么用Map比如登录场景,那么书写方式为:@RequestMapping(value = "/login",method = Re...

2019-12-15 17:48:01 541

原创 微服务中前端不断请求路径的转发过程

1.当index.js有company/xxx的请求时,会找到dev.env.js中的规则,给它自动拼接成api/company/xxxmodule.exports = merge(prodEnv, { NODE_ENV: '"development"', //本地模拟数据位api //BASE_API: '"api"' BASE_API: '"api"'})2.在c...

2019-12-13 17:20:10 589 1

原创 @RequestParam

public Result findAll(int page, int size, @RequestParam Map map)controller的方法中经常这样用,表示当页面发送的其余的请求参数封装到map中

2019-12-13 16:16:43 70

原创 前端开发模式的感想

学习了vue.js开发后,脑海中一篇豁然开朗,为什么这样说呢?因为此时才明白原来独立的前端开发也是用的mvc模式,这与IOS和安卓开发很类似啊,并且个人觉得,同样是界面开发,前端开发工具和框架做的并不够好,因为它不具备ios和安卓那样的布局管理器,或许现在大公司有自己独立的布局管理器,但至少还没开源。如果能像APP开发那样,不仅有布局管理器,通过拖拉进管理器中直接看到效果,还能界面化设置控件的...

2019-12-09 16:48:50 153

原创 前端与后端连接测试的配置

1.mock中注释//2.修改配置config/dev.env.js中的BASE_API,这个是前缀module.exports = merge(prodEnv, { NODE_ENV: '"development"', //本地模拟数据位api //BASE_API: '"api"' BASE_API: '"http://localhost:9001/"'})3....

2019-12-09 14:17:09 1407

原创 构建页面的一个简单总结

1.构建模块配置路由规则2.构建页面3.构建api4.使用elementui的组件只要涉及到页面上组件的编写,马上到elementUI官网查所需要的组件和属性,复制过来,放到对应的位置,进行修改,该增加的增加,该删除的删除,然后把数据对象模型也放进去,在对应的控件上用模型点属性的方式表示,无论是用什么样的前端框架,都是这样的一个过程,只是通过不断的调试来达到想要的效果难点是:所...

2019-12-09 14:12:15 105

原创 页面中显示数据的过程

1.API定义src/api/base: 右键:新建文件 saasClient.js里面的写法src/api/example/table.js 中的内容复制过来,对路径进行修改,结合API文档或者后端的@RequestMapping("/company")import {createAPI, createFormAPI} from '@/utils/request'export...

2019-12-09 11:22:00 497

原创 新建一个菜单模块框架步骤

利用现成的脚手架工程复制demo模块,新建一个菜单模块1.新建模块找到本地project-saas-hrm-vue-master/src,复制一份module-demo,起一个名称:module-saas-clients2.注册模块:将刚才新建的模块注册 2.1 src/main.js import saasClients from '@/module-saas-...

2019-12-08 17:24:21 288

原创 关于脚手架工程的说明

首先脚手架指的是前端封装好的页面框架,拿来可快速的使用,适用于后端开发者,不必追求界面的精致样式,能用即可并且看的还可以为什么要用一些脚手架?如果用官方提供的easyUI,bootstrap,elementUi等,自己如果写登录界面,主要界面,还要在它基础上进行加工,写很多东西,查文档例子,很麻烦,当然自己不想写,当需要一个登录界面,就要去查一个对应的封装好的登录模板,因为官方的是最基础的...

2019-12-08 16:12:45 254

原创 数据库设计工具-PowerDesigner

简称:PD,它是当下最流行的一个设计工具,优势在于:不用再用create table等语句创建表结构,只关注如何进行数据建模即可,将来的数据库语句,可以自动生成数据库建模:对实际应用场景进行分析,进而确定数据表的结构,当然不可能一下就设计的很实用,先确定最基本的,再逐步完善数据库是如何从无到有设计的?1.先设计界面2.界面显示什么,数据库设计对应的表和字段注意:springDa...

2019-12-08 11:30:37 216

原创 多租户SaaS平台的数据库设计方案

多租户技术,其实是一种软件架构技术的应用场景,是指:多个账套共用同一套系统,并且能保证各用户间数据的隔离,目的就是为了在同一套程序下实现多账套数据的隔离SaaS平台模式:软件服务商将软件统一部署到自己的服务器上,客户可以根据自己的需求按需付费,直接连接服务器使用底层设计决定上层建筑,这句话说的真好试用版:多个公司共享一个数据库正式版:一个公司账套对应一个数据库...

2019-12-08 09:45:10 2252

原创 利用Restful写法的Controller中的规范套路总结

哪种方式提交,put,get,post,delete请求地址叫什么,请求的参数叫什么,返回值叫什么,不能随便定义,前后端分离后,api文档很重要,前后端都要遵循它的命名规范,这样才能对接上1.查看API文档2.先把请求地址搞定,大部分都是有规律的,如果每个请求都带有如:/company,那么可以把它提到类上方@RequestMapping(value = "/company")3....

2019-12-07 21:34:21 1570

原创 前端传递没有id参数的处理方式

对于新增保存操作来说,把传递过来的所有参数封装到一个实体类中,作为方法的参数但是有时候传递过来的没有id参数,如:前端只传递过来用户名称,而系统是采用了id生成器的做法,那么就需要进行一些设置1.配置idWorker到工程的启动类中//1.配置springboot的包扫描@SpringBootApplication(scanBasePackages = "com.ihrm.comp...

2019-12-07 14:34:25 1550

原创 mysql的驱动名称更新为com.mysql.cj.jdbc.Driver

已变更为driver-class-name: com.mysql.cj.jdbc.Driver不是com.mysql.jdbc.Driver,这个已经过时了否则在dao中测试的时候会报错:java.util.NoSuchElementException: No value present...

2019-12-07 11:32:38 594

原创 使用jpa操作数据库

1.配置实体类和数据库表的映射关系:使用jpa注解,一共做两方面内容1.实体类和表的映射关系在实体类上方使用注解@Entity 注意包:javax.persistence,代表我要映射实体类@Table(name = "数据库表名称"),代表数据库哪个表和实体类创建映射关系2.字段和属性的映射关系 2.1 主键属性的映射@Idprivate String id...

2019-12-07 11:10:37 155

原创 二、lombok插件使用

原因:写实体类代码中,settter,getter,构造方法,toString方法,太麻烦了,其实也不麻烦,在IDEA中alt+insert,generator,就可以自动生成,但是为了学习新的东西,暂且感觉麻烦吧功能:使用注解的形式替换getter,setter,构造方法如何使用:1.Idea中安装插件:2.工程的pom.xml中引入lombok的坐标即可depende...

2019-12-06 17:36:22 85

原创 微服务架构-id生成

微服务架构就是分布式架构要求:基于SaaS平台中,A企业也要用,B企业也要用,这两个企业的数据相互独立,A有user表,b也有user表,但是在平台上的数据库会只建一个user表那么主键id生成如何做呢?方案1:把用户编码当做主键,如果默认用数据库的主键自增策略,会有主键冲突的情况,A企业新增用户从1开始,B企业也从1开始方案2:用uuid独立字段作为主键,不管A还是B,只要增...

2019-12-06 17:17:51 631

原创 一、idea中maven的配置

创建好project后,如需要配置mavenFile-settimg-搜索框中输入maven:maven home directory使用自己下载好的maven路径还是系统自带的Bundled(Maven3)User settings file: settings.xml 的路径Local repositorys:本地仓库的路径其实默认就好了,如果没有特别的要求,使用自带的就可...

2019-12-06 15:25:18 148

原创 十六、SpringBoot工程使用easyUI

使用步骤1.earyUI官网下载easyUI for jQuery,解压2.在web模块的resources下新建一个static目录,此目录就是用来放css,js,图片等静态资源的,为什么要新建并且名称叫static呢?因为SpringBoot的底层就是从该目录下读取静态资源的,为了符合它的规则要求,所以新建static,还有一点:把html页面放到这里是访问不到的,把easyUI解压后...

2019-12-02 14:26:16 720

原创 十五、OracleOraDb10g_home1TNSListener

若在windows使用oracle的话,此服务没启动的话,是连接不上数据库的,一旦发现报错连接异常的信息,先看此服务启动了没!

2019-12-02 11:53:31 117

原创 十四、Springboot聚合工程种mapper的xml文件所放位置

注意:在IDEA中使用maven的时候,默认xml文件一律放到resources目录下,因为放到java下话,只编译xxx.java文件,不会去编译xml文件,同样resources下的文件只编译xml等资源文件,不编译XXX.java文件,放错位置的话,是读取不到数据的,比如:XXXMapper.java和XXXMapper.xml都放到java包下面,默认不做其它配置的话,是无法读取到数据...

2019-12-02 11:50:02 1330 1

原创 十三、关于@MapperScan和@Mapper的使用

这两个注解只用一个就可以了,都是mybatis框架提供的注解,而不是Spring自身提供的1.在启动类上方使用@MapperScan("com.erp.mapper")会自动扫描dao模块下的com.erp.mapper包下的XXXMapper接口,并交给Spring容器去接收管理2.在XXXMapper接口上方使用@Mapper注解修饰启动类中的@SpringBootAppli...

2019-12-02 11:20:59 478

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除