自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 dubbo|快速上手

由来应用架构的演进过程单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。分布式服务架构当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求

2021-04-22 14:16:59 314 1

原创 spring和dubbo兼容性问题,一个奇怪的Bug|使用dubbo时,配置包扫描context:component-scan ApplicationContext创建对象直接卡住问题的解决办法

今天在学习dubbo的时候遇到一个问题就是我的consumer一直在加载,却无法运行我配置的provider的方法到Dubbo Admin里面去看发现 根本就没有我的provider然后通过对代码中间加入输出语句,发现我的ApplicationContext对象根本没有创建成功(如果是采用tomcat的去使用Listenner去加载的话就更难找到了),辛亏我是直接自己直接创建applicationContext对象的然后我就不断的尝试看是xml语句里面那句话导致的错误最后发现 只要有<con

2021-04-22 01:01:31 705 1

转载 maven pom.xml配置文件中的packaging标签

项目的打包类型:pom、jar、war指定打包类型使用标签,它默认是jar类型。pom:父类型都为pom类型<packaging>pom</packaging>jar:内部调用或者是作服务使用<packaging>jar</packaging>war:打包项目,用于在容器(Tomcat、Jetty等)上部署<packaging>war</packaging> 举个打包类型为pom的例子:项目目录结构

2021-04-20 20:52:03 2118

原创 zookeeper的使用

zookeeper安装下载地址:http://archive.apache.org/dist/zookeeper/zookeeper的部署分为单机模式、集群模式和伪集群模式。一般来讲,单机模式用于本地测试;集群模式用于生产环境;伪集群模式用于对zookeeper集群的学习。单机模式单机模式就是只在一台机器上启动一个zookeeper服务,这种模式配置简单,但是有单点故障问题,只适合在本地调试使用。部署步骤:解压缩把 zookeeper 的压缩包。进入zookeeper-3.4.6目录

2021-04-20 16:46:49 475

原创 什么是zookeeper及其使用场景

1. 概述1.1 分布式应用分布式应用(distributed application)指的是应用程序分布在不同计算机上,通过网络来共同完成一项任务的工作方式。以javaEE实现一个电商网站为例:单体应用:所有功能都写在一个项目了;打包成一个可运行的war包;部署这个war包就可以完成整个网站所有功能。分布式应用:不同的功能写在不同的项目里;打包成多个可运行的war包;由多个运行的服务共同完成整个网站的完整功能。​ 如上图,这个电商网站包含了用户管理、商品管理、订单管理、支付管理4个模块(也

2021-04-20 10:38:38 1947 5

转载 Redis 和 Zookeeper 到底谁更牛?

为什么用分布式锁?在讨论这个问题之前,我们先来看一个业务场景:系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。此时系统架构如下:但是这样一来会产生一个问题:假如某个时刻,redis里面的某个商品库存为1,此时两个请求同时到来,其中一个请求执行到上图的第3步,更新数据库的库存为0,但是第4步还没有执行。

2021-04-20 10:22:39 573 1

原创 springmvc|配置拦截器

什么是拦截器拦截器(Interceptor):是SpringMVC、Struts等表现层框架自己的,不会拦截jsp/html/css/image的访问等,只会拦截访问的控制器方法(Handler)。底层采用的是aop的思想从配置的角度也能够总结发现:serlvet、filter、listener是配置在web.xml中的,而interceptor是配置在表现层框架自己的配置文件中的在Handler业务逻辑执行之前拦截一次在Handler逻辑执行完毕但未跳转页面之前拦截一次在跳转页面之后拦截一次

2021-04-19 15:53:11 209 1

原创 SpringMVC中的统一异常处理

实现HandlerExceptionResolver 接口@Componentpublic class MyHandlerExceptionResolver implements HandlerExceptionResolver { /** * 解析异常 * @param request 请求对象 * @param response 响应对象 * @param handler 处理器 * @param ex 异常对象 * @re.

2021-04-17 18:57:37 211

原创 SpringMVC实现文件上传

前提1. form表单请求方式必须是post2. 添加form表单的参数:enctype 多部件表单类型 enctype="multipart/form-data"3. 引入依赖:commons-upload, commons-io1、文件上传到当前服务器a、引入依赖<!-- 引入fileUpload会自动依赖commons-io --> <dependency> <groupId>commons-fileupload</groupId&gt

2021-04-17 18:55:59 540 1

原创 springmvc|获取请求头和cookie信息| @RequestHeader注解和 @CookieValue注解

@RequestHeader注解获取请求头信息属性value,属性值为请求头的键名 /** * 接收请求参数,获取请求头信息 * @RequestHeader注解 * 注解作用在方法参数上 * 注解属性value配置请求头的键 */ //功能9 : 获取请求头的指定信息 @RequestMapping("sendParamsHeader") public ModelAndView sendParamsHeader(@R

2021-04-17 14:25:52 638

原创 springmvc|@RequestMapping注解使用

用法1: 多个URL路径映射到同一个Handler(同一个方法)index.jsp页面<fieldset> <h4>用法1: 多个URL路径映射到同一个Handler(同一个方法)</h4> <a href="http://localhost:8080/gotoResultURL1.do">测试路径1</a> <a href="${pageContext.request.contextPath}/gotoRes

2021-04-15 20:41:26 240 1

原创 springmvc|配置视图解析器

ViewResolver:视图解析器作用:ViewResolver进行视图解析,首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象。简单的将就是一个Controller返回一个地址用于跳转的时候,这个jsp文件的位置的前面的文件夹/WEB-INF/jsp/的名字,和后面的后缀名.jsp懒得写,通过视图解析器配置一下之后,可以直接去掉那些不关键的信息,直接写jsp文件的文件名就能跳转视图解析器的配置<!--配置视图解析器--><bean id="viewRe

2021-04-15 20:37:49 228

原创 spring mvc的配置|hello world!

先创建一个maven的webapp项目,然后添加好相应缺失的文件夹在resource文件夹中,添加springmvc.xml,里面填写以下内容<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmln..

2021-04-15 20:27:27 133

原创 Spring中的模板|JDBCTemplate的使用

Spring中的模板对象在Spring框架中,为我们提供了很多模板对象。这些模板对象,把开发中繁琐重复的部分全部进行了封装,使用之后大大的简化了我们开发。同时,降低了我们的上手难度,让我们可以更加简单直接的实现业务需求。这也是我们在Spring框架课程第一天介绍的Spring框架优势中提到的。Spring框架提供的模板对象有以下这些:对象名称所在包说明TransactionTemplateorg.springframework.transaction.support用于通过编

2021-04-15 15:48:48 220

原创 spring 事务管理

需要完成的步骤配置PlatformTransactionManager可以直接配置一个DataTransactionManager的bean,这个类是spring提供的专门用于事务管理的事务的通知也就是配置在哪些方法上使用事务,在这些方法上的事务的一些信息(如:是否只是可读,传播行为,隔离级别等)PlatformTransactionManager介绍实现类:org.springframework.jdbc.datasource.DataSourceTransactionManager 使

2021-04-15 15:39:16 104 1

原创 spring使用纯注解方式配置事务,执行时事务竟然无效,而改用xml之后却又有效

今天将一个xml配置的事务的代码改成纯注解的时候。竟然事务不起作用。我一直以为是我的配置出了什么问题,找了好久的错误,一直没发现有什么问题。最后一不小心看到我配置@Transactional注解的类里面的方法竟然访问权限不是public而是没写的default权限,改成public之后,问题解决了,在此记录一下...

2021-04-15 15:08:37 188

原创 解决idea中与java编译版本不匹配相关的报错

idea有以下几个地方可能会对java的编译版本进行设定,导致项目的编译版本和本地的java版本不兼容的问题1. pom.xml2. project版本File–>project structuremodule版本java编译版本File–>Setting–>Build,Execution,Deployment–>Compiler–>Java Complier...

2021-04-14 20:11:19 2812

转载 二进制大文件的版本控制

Git 管理实战(五):二进制大文件的版本控制

2021-04-14 15:00:19 765

原创 spring aop|注解配置

1. 相关注解介绍1.1 放在配置类上的注解@EnableAspectJAutoProxy用于开启spring对注解aop的支持1.2 放在增强方法的类上(里)的注解@Aspect位置放到aspect类上面,表示这个是一个aspectPointcut在aspect类里面添加一个函数,在函数上面添加该注解,用于配置一个切入点具体pointcut表达式的编写可以参考spring aop|切入点pointcut表达式编写方案示例1.2.1 用于配置通知的1.2.1.1 @Before作用

2021-04-14 14:46:54 506 3

原创 spring aop|xml配置

关于aop的一些基础概念可以看 spring aop|一些相关概念需要配置的标签介绍aop:config标签作用:用于表示开始aop的配置出现位置:写在beans标签的内部属性:proxy-target-class:用于指定代理方式。默认值是false。当取值为true时,采用cglib的代理方式。expose-proxy:用于指定是否暴露代理对象,通过AopContext可以进行访问代理对象。aop:aspect标签Aspect概念:一个模块具有一组提供横切需求的.

2021-04-14 14:27:29 123 2

原创 spring aop|一些相关概念

AOP 术语这些术语并不特定于 Spring,而是与 AOP 有关的项描述Aspect一个模块具有一组提供横切需求的 APIs。例如,一个日志模块为了记录日志将被 AOP 方面调用。应用程序可以拥有任意数量的方面,这取决于需求。Join point在你的应用程序中它代表一个点,你可以在插件 AOP 方面。你也能说,它是在实际的应用程序中,其中一个操作将使用 Spring AOP 框架。Advice这是实际行动之前或之后执行的方法。这是在程序执行期间通过 Spri

2021-04-14 11:46:09 110

原创 spring aop|切入点pointcut表达式编写方案示例

概念及作用切入点表达式,也称之为AspectJ切入点表达式,指的是遵循特定语法结构的字符串,其作用是用于对符合语法格式的连接点进行增强。,它是AspectJ表达式的一部分。关于AspectJAspectJ是一个基于Java语言的AOP框架,Spring框架从2.0版本之后集成了AspectJ框架中切入点表达式的部分,开始支持AspectJ切入点表达式。表达式中的关键字关键字说明execution用于匹配方法执行的连接点切入点表达式的使用示例从上到下作用范围越来越大

2021-04-14 11:35:18 439 1

原创 idea2020.1之后的版本maven自动导包功能找不到了的原因

idea2020.1之后的版本去掉了自动导包的功能,主要是为了防止idea里面编写pom.xml的时候,还没编写完,然后触发自动导包的功能,导入了错误的包视频解释参考 Intellij IDEA 2020居然不能自动导入Maven依赖了! 官方介绍:https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1-eap/#mav

2021-04-14 10:26:41 1067

原创 idea项目的.gitignore文件配置分享

.idea/*.iml/**/*.iml/*/target/target

2021-04-12 17:18:23 621

原创 spring mybatis整合配置 思路

mybatis也提供了与spring整合的一些类,只需要在xml中为spring容器配置好就可以直接使用mybatis下图是原来的mybatis核心配置文件和spring中的配置的对应关系完整demo github链接:https://github.com/chenkehao1998/JavaExampleForBlog/tree/main/spring_mybatis...

2021-04-12 17:05:46 116

原创 spring ioc(使用xml配置)|bean标签及其子标签

Bean标签的属性id: 给对象在容器中提供一个唯一标识。用于获取对象。class: 指定类的全限定类名。用于反射创建对象。默认情况下调用无参构造函数。scope: 指定对象的作用范围。singleton :默认值,单例的.单例模式的bean对象生命周期与容器相同,容器创建的时候,对象就跟着创建了prototype :多例的.当使用对象时,创建新的对象实例。只要对象在使用中,就一直活着。当对象长时间不用时,被 java 的垃圾回收器回收了。request :WEB

2021-04-12 15:15:25 218

原创 spring工厂类接口与其子接口和实现类的细节

Spring中工厂类结构BeanFactory和ApplicationContext的区别通过类视图我们可以看出,BeanFactory是Spring中IoC容器的顶层接口,而ApplicationContext是它的一个子接口,所以ApplicationContext具备BeanFactory提供的全部功能。通常情况下,我们称BeanFactory是Spring的IoC基础容器。而ApplicationContext是容器的高级接口,它比BeanFactory多了很多重要的功能。例如,父子

2021-04-10 18:10:46 170

原创 git添加文件至忽略列表|.gitignore文件的配置

基本介绍Git 的 .gitignore 配置文件用于配置不需要加入到版本管理中的文件,比如说一个项目在开发的过程中项目的目录里还会有一些本地的临时文件,比如java开发中,idea项目会有.idea文件夹,也会有target文件夹这些,这些是我们代码管理里所不需要的,但是又不可避免的存在每次git status都会显示Untracked files ...所以这个时候就可以通过配置.gitignore来解决,这个文件默认放在项目的根目录,为这个Git项目配置忽略列表,同时也可以通过命令配置本地全局的

2021-04-09 21:00:05 2468 1

转载 RBAC权限系统分析、设计与实现

一、RBAC是什么1、RBAC模型概述RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就已经被提出来,直到20世纪90年代中后期,RBAC才在研究团体中得到一些重视,并先后提出了许多类型的RBAC模型。其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有代表,并得到了普遍的公认。RBAC认为权限授权的过程可以抽象地概括为:Who

2021-04-08 14:07:20 329

原创 mybatis在添加完新的数据之后获取主键

< selectKey>< /selectKey>子标签属性order:在insert之前或者之后执行keyProperty:查询的结果放在哪里显示resultType:查询结果的数据类型<insert id="saveUser" parameterType="com.itheima.pojo.User"> <selectKey order="AFTER" resultType="int" keyProperty="id"> &

2021-04-08 11:18:23 176 2

原创 mybatis延迟加载原理

使用CGLIB创建目标对象的代理对象,当调用目标方法时,进入拦截器方法,比如调用A.getB().getName(),拦截器invoke()方法发现A.getB()是null值,那么就会单独发送事先保存好的查询关联B对象的sql,把B查询上来,然后调用A.setB(b),于是a的对象b属性就有值了,接着完成A.getB().getName()方法的调用。这就是延迟加载的基本原理。所以在b/s开发,似乎没有什么用? 因为传递到前端的时候,转换成json字符串的过程中依然是,调用了get方法,所以一次请求,依

2021-04-07 16:43:46 778 1

mfc可视化程序设计大作业俄罗斯方块

mfc可视化程序设计的大作业俄罗斯方块,windows应用程序,visual studio2013下开发

2019-04-26

Unity坦克大战

复古的小时候经常玩的坦克大战游戏的unity的实现案例。

2019-04-26

unity口红游戏

就是unity实现的外面商场里面很多人玩的口红游戏,不过这里并没有用口红的图片,可以修改

2019-04-26

unity跳一跳

微信里的网红小游戏跳一跳unity的复刻项目,可以作为参考

2019-04-26

遗传算法tsp案例

遗传算法解决tsp(旅行商问题)的python实现代码,有图形和控制台输出

2019-04-26

ios音乐播放器案例

ios音乐播放器案例,xcode8.3环境实现,采用swift语言

2019-04-26

html八数码游戏

使用html+css+javascript实现了八数码小游戏,可以作为参考

2019-04-26

html图片切换案例

html图片切换案例,就是几个图片切换比较简单,可以参考

2019-04-26

学生管理系统javaweb+ssm框架后台+easyui前端

所需要的包是采用maven配置的,没有转maven可以自己导入包或者安装maven

2019-04-26

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

TA关注的人

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