04 2020 档案
摘要:1:导入相关依赖 2:数据库建表以及插入数据 sql / 用户表 / CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(20) NOT NULL, varchar(100) NOT NULL, PRIMARY KEY ( ), UNIQU
阅读全文
摘要:基于【shiro集成spring】项目改造 引入相关依赖环境 构建shiro 注解配置 在SpringMVC的配置文件中增加以下配置 注解的使用 可以注解在controller类上或者方法上,可以叠加使用 未登录或者无权限跳转页面 com\shiro\resolver\MyExceptionReso
阅读全文
摘要:==基于【加密及密码比对器(三)】项目改造== 引入相关依赖环境 shiro spring已经包含 shiro core和shiro web 所以这两个依赖可以删掉 构建shiro配置文件 ==替代shiro.ini文件== resources\spring shiro.xml 把userseriv
阅读全文
摘要:==基于【自定义remle(二)】项目增加加密功能== 1:数据库t_user表增加一列(盐) 增加字段:salt sql CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(20) NOT NULL, varchar(100) NOT N
阅读全文
摘要:SpringMVC+SpringMVC+Mybatis项目 1:导入相关依赖 2:数据库建表语句 sql / 用户表 / CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(20) NOT NULL, varchar(100) NOT NU
阅读全文
摘要:SpringMVC项目 1:pom引入相关依赖 2:安装ini插件 3:创建shiro默认配置文件 resources\shiro.ini 4:构建controller(模拟登陆操作) com\shiro\controller\LoginController.java 5:构建SpringMVC配置
阅读全文
摘要:构建一个定时任务的service接口及实现(模拟) 接口:com\applesnt\springboot\service\TaskService.java 实现类:com\applesnt\springboot\service\impl\TaskServiceImpl.java ==需要定时业务处理
阅读全文
摘要:说明 构建一个群发邮件的service接口及实现(模拟) 接口:com\\springboot\service\AsynxService.java 实现类:com\applesnt\springboot\service\impl\AsynxServiceImpl.java ==需要异步业务处理的方法
阅读全文
摘要:MyBatis默认提供了一个数据库连接池PooledDataSource,在此我们使用阿里提供的Druid数据库连接池 项目下载:https://files.cnblogs.com/files/applesnt/springboot db.zip 1:建表sql语句 sql CREATE TABLE
阅读全文
摘要:==springboot2.2.6 delete请求报错,降至2.1.11功能可用 原因未知== 构建员工删除请求 com\springboot\controller\EmployeeController.java 在list.html增加删除员工按钮 resources\templates\lis
阅读全文
摘要:构建员工修改请求 com\springboot\controller\EmployeeController.java 在list.html增加编辑员工按钮 resources\templates\list.html 构建修改页面 resources\templates\add.html(公用添加页,
阅读全文
摘要:构建员工添加请求 com\springboot\controller\EmployeeController.java 在list.html增加添加员工按钮 resources\templates\list.html 构建添加页面 resources\templates\add.html form表单
阅读全文
摘要:构建员工controller com\springboot\controller\EmployeeController.java 构建显示员工信息 resources\templates\list.html 页面展示
阅读全文
摘要:把顶部和左侧的公共代码分别放到header.html和left.html中 顶部代码:resources\templates\header.html 主内容展示: 在dashboard.html和list.html页面分别引入顶部和左侧页面: list.html 主内容展示: dashboard.h
阅读全文
摘要:1:构建登录javaBean com\springboot\vo\LoginUser.java 2:构建登录controller com\springboot\controller\LoginController.java 3:构建登录拦截器 4:把登录拦截器添加到spring以及添加主页视图解析器
阅读全文
摘要:1:IDEA编码设置UTF 8 2:创建国际化文件 3:添加中英文 login_en_US.properties: login_zh_CN.properties: 4:国际化配置 5:首页国际化 resources\templates\index.html 6:首页访问(读取默认语言) 7:编写中英
阅读全文
摘要:1:编写Controller com\springboot\controller\IndexController.java 首页跳转controller 2:添加扩展视图解析器 com\springboot\config\MyConfig.java 3:首页展示:
阅读全文
摘要:1:静态资源 下载静态资源:https://files.cnblogs.com/files/applesnt/ztzy.zip 项目下载:https://files.cnblogs.com/files/applesnt/hellospringboot.zip 把css、js、img文件夹放在stat
阅读全文
摘要:Springboot默认使用的日志框架就是logback 创建自定义的logback spring.xml放在resources类目录下即可 logback spring.xml: java调用:
阅读全文
摘要:存放位置:resources\templates 访问方式:通过Controller请求访问,不可直接访问(相当于web项目的WEB INF目录) 环境依赖: 命名空间: 相关配置: 相关参考: https://www.cnblogs.com/itdragon/archive/2018/04/13/
阅读全文
摘要:WebMvc自动配置: 搜索WebMvcAutoConfiguration自动装配类: 第一种方式通过webjars加载静态资源: https://www.webjars.org(通过maven加载依赖环境的方式) 比如:要载入jquery的环境: 查看jquery的静态资源目录: 访问静态资源:h
阅读全文
摘要:配置文件位置 Springboot配置文件可以加载以下四个位置: 多环境配置(多配置文件) 方式一(多配置文件) 格式:application xxx.yml 只需要在application.yml默认的配置文件配置使用的环境即可切换配置文件 方式二(多文档块) 在application.yml中用
阅读全文
摘要:校验规则如下: 代码示例: com\springboot\vo\FormVo.java 表单提交验证:@Valid的参数后必须紧挨着一个BindingResult 参数,否则spring会在校验不通过时直接抛出异常
阅读全文
摘要:方式一: 注解赋值 构建javaBean:com\springboot\vo\Dog Springboot测试类测试: 打印结果: 方式二: yml文件赋值 构建javaBean:com\springboot\vo\Person 编写appliation.yml文件 使用@Configuration
阅读全文
摘要:端口修改 在application.yml文件中增加端口的配置: Logo修改 Logo生成网址: https://www.bootschool.net/ascii art/ 在resources类目录下创建banner.txt文本文件,把图形复制进去 重启项目:
阅读全文
摘要:Settings Plugins 搜索Editstarters: 安装完插件 重启idea: 查看安装是否成功: 在pom.xml 右键: 选择热部署依赖 点击ok进行自动装配: 热部署依赖环境已经配置成功:
阅读全文
摘要:1、创建Springboot项目 选择创建Springboot项目: 填写项目基本信息: 选择Springboot版本以及web依赖(内嵌tomcat): 创建完成: ==创建完成后 等待构建maven项目,需要下载项目依赖的环境!== 构建完成后的项目结构: 2、Springboot目录结构: 3
阅读全文
摘要:1、Key操作 2、String操作 3、Set操作 4、List操作 5、Hash操作 6、事务操作
阅读全文
摘要:redis 主从复制 环境配置(同一台机器) 1:配置文件 redis.conf配置如下: redis01.conf配置如下: redis02.conf配置如下: 2:启动三个redis服务 3:测试三个服务是否正常 4:查看节点信息 info replication 6379:(主) 6380:
阅读全文
摘要:RDB配置 RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据 RDB核心规则配置: RDB持久化演示 1:修改配置文件redis.co
阅读全文
摘要:```dsconfig #通用配置 bind 127.0.0.1 #绑定可访问的ip 默认本机访问,如果bind选项为空的话,那会接受所有来自于可用网络接口的连接,也可以绑定指定ip访问 protected-mode yes #是否受保护 默认开启 port 6379 #端口 timeout 0 #设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。默认值为
阅读全文
摘要:监视:watch 正常业务(单线程): 异常业务(多线程):在线程一提交事务之前 用线程二修改money的值 然后提交线程一的事务,那么事务会提交失败! 线程一: 线程二: 解决异常业务(多线程):先解锁(unwatch) 再加锁(watch)
阅读全文
摘要:开启事务:multi 执行事务:exec 取消事务:discard 事务处理(编译时事务):一个事务里 命令出错 整个事务就不会被执行 事务处理(运行时事务):一个事务里 其中一条运行出错 其他正确的运行会执行成功
阅读全文
摘要:1、geospatial 地理位置 设置成员的经纬度: geoadd china:city 116.408 39.904 beijing 获取指定成员的经纬度: geopos china:city beijing 计算两个成员之间的距离(默认为米): geodist china:city beiji
阅读全文
摘要:存值: zadd myset 1 one 取值: zrange myset 0 1 排序(升序): zrangebyscore money inf +inf 排序(降序): zrevrange money 0 1 withscores 移除指定的元素: zrem money zhangsan 移除指
阅读全文
摘要:存值: hset myhash name applesnt 取值: hget myhash name 批量存值: hmset myhash name lisi address bj age 12 批量取值: hmget name lisi bj 获取所有键值对: hgetall myhash 删除指
阅读全文
摘要:Set里面的值是不能重复的 Set设置值(头部): sadd myset hello Set获取值: smembers myset 检查Set是否包含某个元素: sismember myset hello 查看Set包含的元素个数: scard myset 移除Set中某个元素: srem myse
阅读全文
摘要:list设置值(头部): lpush list one list设置值(尾部): rpush list one list获取值: lrange list 0 1 list获取指定范围的值: lrange list 0 1 list移除一个值(头部):lpop list list移除一个值(尾部):r
阅读全文
摘要:字符串拼接(如果key不存在则创建): append name " applesnt" 获取字符串的长度: strlen name 计数器 + +: incr count 计数器 : decr count 步长计数器 + +: incrby view 5 步长计数器 : decrby view 2
阅读全文
摘要:设置一个key:set name hello 获取一个key的值:get name 查看所有的key:keys 查看key是否存在:exists name 移动key到指定库:move name 1 设置key的过期时间(秒):expire name 100 查看key的剩余过期时间(秒):ttl
阅读全文
摘要:Redis官网:https://redis.io/ Redis中文网:http://www.redis.cn/ Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists
阅读全文
摘要:1:业务测试说明 不登录的情况下 直接访问welcome.jsp会被拦截 拦截器过滤登录页、登录验证请求以及登录的情况下 2:编写controller com\applesnt\controller\LoginController.java 3:创建相关页面 web\WEB INF\jsp\logi
阅读全文
摘要:1、创建WEB项目 创建项目:(ssmbuild)步骤略........ 给项目添加lib文件夹,用于存放jar包: 在WEB INF目录下创建lib文件夹: 创建完成:运行项目时需要把jar导入到lib目录下 2、pom文件 3、配置web.xml 4、创建spring配置文件:applicati
阅读全文
摘要:基础环境搭建请参考SringMVC入门程序 1:JSON依赖 2:编写JSON工具类 com\applesnt\util\JsonUtils.java 3:编写配置 解决JSON乱码问题 resources\springmvc servlet.xml 4:编写controller com\apple
阅读全文
摘要:基础环境搭建请参考SringMVC入门程序 一、SpringMVC数据处理 1:resful 路径传值 http://localhost/get/1/2 2:参数传值:参数名一致 http://localhost/get2?id=applesnt 3:参数传值:参数名不一致 http://local
阅读全文
摘要:基础环境搭建请参考SringMVC入门程序 1:springmvc servlet.xml 2:controller com\applesnt\controller\HelloController.java
阅读全文
摘要:Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架 1、Spring优点 https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring framework reference/web.html
阅读全文
摘要:Spring 整合Mybatis 1:导入依赖 数据库语句: tex CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(255) DEFAULT NULL, char(1) DEFAULT NULL, varchar(255) DEFAU
阅读全文
摘要:静态代理 缺点:一个真实角色就会产生一个代理角色,代码量会翻倍! 场景:要在写好的实现方法上加入日志功能(公共功能),不要修改原代码 1:原代码 业务接口: 业务实现(真实角色): 实例化对象: 测试: 2:增加日志功能(代理实现) 增加一个代理类,实现业务接口:(因为代理角色要代理实现真实角色同样
阅读全文
摘要:@Configuration @Bean @ComponentScan @ImportResource 使用Java的方式配置spring,完全不使用spring配置文件,交给java来做! 两个注解非常重要: 定义一个Person 对象 创建一个配置类MyConfig :bean的id就是方法名称
阅读全文
摘要:一:@Autowired 赋值:通过class类型自动会找容器中bean【利用反射机制,可以不用set】 项目改造:【场景】一个人拥有两只宠物 People 注解注入Dog和Cat 二:@Qualifier 配合@Autowired注解使用,如果容器中有两个同类型的bean,可以通过指定beanId
阅读全文
摘要:二、Spring IOC控制反转 1:IOC推导 》传统业务调用编程 定义一个userDao接口:UserDao 定义一个userDao接口实现类(基于mysql):UserMysqlDaoImpl 定义一个userDao接口实现类(基于oracle):UserOracleDaoImpl 定义一个U
阅读全文
摘要:1、Spring优点 spring是一个开源的免费的框架 spring是一个轻量级的 非入侵式的框架 控制反转(IOC)、面向切面(AOP) 支持事务的处理,对框架整合的支持 总之:spring就是一个轻量级的控制反转和面向切面的框架 https://docs.spring.io/spring/do
阅读全文
摘要:一、Ribbon(单独配置) 可以通过ribbon.xx来进行全局配置。也可以通过服务名.ribbon.xx来对指定服务配置 全局配置: 服务配置: 根据上面的参数计算重试的次数 重试3次 则一共产生4次调用: MaxAutoRetries+MaxAutoRetriesNextServer+(Max
阅读全文
摘要:Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门 Hystrix+Ribbon(不使用Feign) 一、构建Eureka Server 【基于第二章节创建的Eureka Server】 二、构建Eu
阅读全文
摘要:在微服务架构中多层服务之间会相互调用,如果其中有一层服务故障了,可能会导致一层服务或者多层服务故障,从而导致整个系统故障。这种现象被称为服务雪崩效应。 Hystrix组件就可以解决此类问题,Hystrix 负责监控服务之间的调用情况,连续多次失败的 情况进行熔断保护。保护的方法就是使用 Fallba
阅读全文
摘要:Feign是一个声明式的Web服务客户端,可帮助我们更加便捷、优雅地调用HTTP API Feign可以与Eureka和Ribbon组合使用以支持负载均衡 一、构建Eureka Server 【基于第二章节创建的Eureka Server】 二、构建Eureka Client提供者集群项目 【基于第
阅读全文
摘要:spring Cloud Ribbon 是一个客户端的负载均衡器,它提供对大量的HTTP和TCP客户端的访问控制。 客户端负载均衡即是当浏览器向后台发出请求的时候,客户端会向 Eureka Server 读取注册到服务器的可用服务信息列表,然后根据设定的负载均衡策略(没有设置即用默认的),抉择出向哪
阅读全文
摘要:Eureka包含两个组件:Eureka Server和Eureka Client Eureka Server:提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册 Eureka Client:应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eurek
阅读全文
摘要:[springcloud项目名称不支持下划线] 一、创建父项目 File new project: 填写项目信息: 默认即可,点击finish创建完成: 由于父项目只用到pom文件 所以把src删掉即可: 父项目pom文件: pom文件说明: 引入springboot【版本:2.1.1】 引入spr
阅读全文
摘要:四、Session 1:设置session 2:获取session 3:sesson时效设置 5、ServletContext 1:获取mime类型 2:获取文件真实路径 在src下创建a.log、在web下创建b.log、在web/WEB INF下创建c.log 打印结果:
阅读全文
摘要:三、Cookie 1:设置cookie 涉及的知识点: cookie的编码 解码、时效设置、共享域以及安全 2:获取cookie 获取的是cookie数组 3:案例:最后一次登录时间的显示
阅读全文
摘要:一、Servlet 1:实现Servlet接口 servlet生命周期: init方法:tomcat启动时 调用此方法 service方法:访问servlet时默认执行此方法 destroy方法:tomcat正常关闭时 调用此方法 需要在web.xml中添加servlet配置 访问测试: http:
阅读全文
摘要:修改pom文件 修改application.yml文件 修改所有的jpa调用的findOne方法 com\imooc\service\imp\ProductCategoryServiceImp.java com\imooc\service\imp\OrderServiceImp.java com\i
阅读全文
摘要:创建模拟秒杀下单活动的service层接口 com\imooc\service\SecKillService.java 创建模拟秒杀下单活动的service接口的实现类 com\imooc\service\imp\SecKillServiceImp.java 编写加锁和解锁的实现类 在秒杀或者下单的
阅读全文
摘要:前台: 在订单list页面增加websocket resources\templates\list.ftl 后台: 在pom文件中要加入websocket依赖 编写websocket配置类 com\imooc\config\WebSocketConfig.java 编写websocket的实现类 c
阅读全文
摘要:https://mp.weixin.qq.com/ 模板消息 创建service层接口 com\imooc\service\PushMessage.java 创建service层实现类 com\imooc\service\imp\PushMessageImp.java 把模板id配置到applica
阅读全文
摘要:微信开放平台:https://open.weixin.qq.com/ 扫描登录不支持个人账号 最终的微信登录事件的地址为: http://applenst.natapp4.cc/sell/wechat/qrAuthorize?returnUrl=applenst.natapp4.cc/sell/se
阅读全文
摘要:创建controller控制层 com\imooc\controller\SellCategoryController.java 1:查询所有类目: 创建list方法需要返回的list的页面: resources\templates\category\list.ftl 2:类目新增和修改功能: 在S
阅读全文
摘要:创建controller控制层 com\imooc\controller\SellerProductController.java 1:查询所有商品: 创建list方法需要返回的list的页面: resources\templates\product\list.ftl 预览页面: http://12
阅读全文
摘要:创建公共页面 1:左侧功能目录页面: resources\templates\common\nav.ftl 2:成功跳转页面: resources\templates\common\success.ftl 3:错误跳转页面: resources\templates\common\error.ftl
阅读全文
摘要:微信支付:(只有企业资质的才可以申请微信支付) https://pay.weixin.qq.com/ 微信支付流程文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4 文档说明 https://pay.weixin.qq.c
阅读全文
摘要:微信授权是为了得到用户的openId 微信公众号: https://mp.weixin.qq.com/ 微信支付:(只有企业资质的才可以申请微信支付) https://pay.weixin.qq.com/ 微信支付流程文档: https://pay.weixin.qq.com/wiki/doc/ap
阅读全文
摘要:创建javabean 1:定义订单状态枚举类:生成订单状态常量 com\imooc\vo\enums\OrderStatusEnum.java 创建类型【enum】 2:定义支付状态枚举类:生成支付状态常量 com\imooc\vo\enums\PayStatusEnum.java 创建类型【enu
阅读全文
摘要:创建javabean com\imooc\vo\admin\ProductInfo.java 创建dao层接口 com\imooc\dao\ProductInfoDao.java 创建service层接口 com\imooc\service\ProductInfoService.java 实现ser
阅读全文
摘要:创建javabean com\imooc\vo\admin\ProductCategory.java 创建dao层接口 com\imooc\dao\ProductCategoryDao.java 测试方法: 创建service层接口 com\imooc\service\ProductCategory
阅读全文
摘要:一、pom文件 Springboot1.5.3 二、数据库文件 Mysql8 sql 商品类目表 DROP TABLE IF EXISTS ; CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(64) NOT NULL COMMENT '
阅读全文
摘要:一、订单号生成类 com\imooc\utils\KeyUtil.java 二、Json转换类 com\imooc\utils\JsonUtil.java 三、支付金额校验类 com\imooc\utils\MathUtil.java
阅读全文