自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (27)
  • 收藏
  • 关注

原创 @Autowired依赖注入为啥不推荐了

这几天更新升级了一下java编码神器IDEA,升级完进行日常开发,可能是以前用的IDEA版本比较老旧,升级之后发现之前的日常写法有了个warning提醒。来看图:如上图,这就奇怪了,我们经常写的业务层就是service接口层和对应的实现类层进行属性注入的时候都是采用注解进行注入的。这也是springIOC给提供的比较方便的地方。我使用IDEA提供的自动修复提示修复了之后变成采用构造函数的形式进行注入了。但是多年面向Spring开发的经验告诉我,使用@Autowired注解进行依赖注入,肯定是没有问题

2021-05-26 17:19:38 2847 1

原创 学习微服务系列(八):springboot服务分布式事务及解决方案

事务相信有过研发经验的小伙伴都听过这个词"事务”,什么是事务咱们简单举个生活中的例子:比如你去饭店吃饭,你吃完饭就得给钱结账,你不结账人家饭馆老板就不同意,你给钱了但是老板没给你做菜那么你也不同意。所以这个场景就是双方必须全部成功整个过程才算结束。所以事务的定义就是:事务可以看做是若干个操作共同组成的一件事,这些子事件要么全部成功,要么全部失败。本地事务本地事务其实就是说的是我们传统的单体服务下的数据库事务,我们先回顾一下数据库事务的四大特性 ACID:A(Atomic):原子性,构成事务的

2021-02-08 13:31:38 4031 2

原创 学习微服务系列(七):nacos原理分析

我们前两篇文章介绍了nacos在服务注册发现和分布式配置方面的作用。在实际生产中使用nacos你就会体会到nacos是多么的方便,基于nacos的服务注册能力可以做优雅停服功能,从此我们发版上线就不必非要等到半夜才能发布。只要随时找个业务低峰发布对应的服务集群即可。接下来我们看一下nacos的原理。Nacos 服务注册与发现原理分析nacos的功能之一就是作为服务注册发现模块也就是我们常说的注册中心,nacos支持所有主流类型服务框架的注册配置和管理,微服务我们最开始接触的中间件就是Dubbo,很多人对

2021-02-05 15:54:19 1627 1

原创 学习微服务系列(六):springboot微服务使用nacos作为配置中心

上篇文章我们介绍了服务采用nacos作为注册中心,其实nacos还有另外一个作用是作为配置中心,但是功能要比springcloud-config功能强大配置简单。说配置文件大家都比较了解。我们在项目里经常使用各种properties配置各种内容,比如我们把调用其它服务的url配置到配置文件中统一管理。但是在分布式架构生态下各个应用自己都维护一份配置显然就会出现不足。第一:配置的动态更新问题,第二:配置相同需要多次修改问题,第三:安全性问题。所以一般我们在微服务体系中会维护一个配置中心来动态变更配置并可以动态

2021-02-03 18:17:40 498

原创 学习微服务系列(五):springboot微服务使用nacos作为注册中心

前面几篇文章我们介绍了微服务,知道了微服务网关。下面呢我们就学习一下微服务的注册中心。什么是注册中心呢,现在我们的每个微服务都是部署一个独立的机器或者docker中,每个都有一个独立的IP地址,那么服务发现基本上都是通过某种方式获取到服务所部署的IP地址。A服务调用B服务时如果采用微服务的模式进行调用的话就需要到注册中心获取B服务所部署的机器的ip和端口进而才能进行对B服务的调用。所以可想而知注册中心在整个微服务体系中是十分重要的。我们经常听到的ZooKeeper就是可实现服务发现的组件之一,包括eurek

2021-02-01 18:12:47 1035 1

原创 学习微服务系列(四):springboot服务gateway网关

什么是服务网关前文我们已经了解了构建微服务的基础springboot,同时也能使用springboot构建服务。接下来我们就基于springboot聊一下springcloud。这个springcloud并不是一个特定的技术,它指的是微服务中一个生态体系。比如包括网关,注册中心,配置中心等。今天我们就先了解一下微服务网关,微服务网关有很多种我们这次采用现在主流的spring cloud gateway来讲解说明。在微服务体系中,每个服务都是一个独立的模块都是一个独立运行的组件,一个完整的微服务体系是由若

2021-01-29 16:36:27 9745

原创 学习微服务系列(三):springboot+页面前后端分离与RESTFUL风格接口编写

前后端分离通过我们本系列第二个文章"学习微服务系列(二):基于springboot构建服务"我们可以搭建了一个基于springboot的服务,同时也可以实现类似我们以前的单体服务一样整合一个页面模板到服务中。现在主流的应用并不是在一个服务中整合页面模板,而是做成前后端分离的机构,采用http协议进行前后端数据交互,我们做的B-S类的产品大概进行了3个阶段最终到我们现在的前后端分离:第一阶段是所有的请求都被发送给作为控制器的Servlet,并根据请求信息将它们分发给适当的JSP来响应,Servlet还根

2021-01-28 15:38:21 693 2

原创 学习微服务系列(二):基于springboot构建服务

注意:本 Spring Boot 系列文章基于 Spring Boot 版本最新版 2.4.2 进行学习分析,版本不同可能会有细微差别。另外springboot-springcloud是实现微服务生态的一种,并不说明使用springboot就是实现了微服务。根据上文学习微服务系列(一):认识微服务 的介绍相信大家对与微服务都有所了解了,也知晓微服务的作用以及微服务生态中涉及的技术和中间件。Spring Boot 是什么相信大家对于Spring肯定不陌生,在JAVA这个技术圈中Spring占据着举足.

2021-01-26 18:09:59 443 2

原创 学习微服务系列(一):认识微服务

我们曾经的服务-单体服务我们对于一个新模块开发时,好多小伙伴就会问为什么我们要搞微服务架构,一个项目把代码从头撸到尾不是很方便吗,开发更快速,部署也容易。如果使用微服务,涉及的技术就一大堆,中间还容易出现各种不一致的问题。对于这种问题怎么回答呢?那我们就先看看我们以前做个B-S服务是啥样的吧。。。最开始我们都是弄一个tomcat(服务容器)+mysql(数据库)直接就把项目打成war包扔到tomcat下直接启动部署,通过浏览器就可以访问了。有的甚至是服务+页面+数据库都在一台机器上直接就上到网上了给用

2021-01-25 19:55:14 398

原创 策略模式与工厂方法模式在项目中区别与应用

我们写代码如果逻辑判断比较多的时候,if的情况比较复杂的时候是不是经常写出这样的代码:就如上图一堆一堆的if-else判断,看的人眼花缭乱的。其实从代码的优雅角度来看这就是一堆辣鸡,根本拿不上台面。那么需要怎么优化一下类似上面的这么多if-else呢?策略模式经典兵法 《设计模式之禅》对于策略模式有个简单的定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。。。。。Context叫做上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。。。。。

2021-01-23 18:06:04 256

原创 springboot做代理分发服务+代理鉴权

还原背景大家都做过b-s架构的应用,也就是基于浏览器的软件应用。现在呢有个场景就是FE端也就是前端工程是前后端分离的,采用主流的前端框架VUE编写。服务端采用的是springBoot架构。现在有另外一个服务也需要与前端页面交互,但是由于之前前端与服务端1交互时有鉴权与登录体系逻辑控制以及分布式session存储逻辑都在服务1中,没有把认证流程放到网关。所以新服务与前端交互则不想再重复编写一套鉴权认证逻辑。最终想通过服务1进行一个代理把前端固定的请求转发到新加的服务2上。怎么实现.

2021-01-21 17:10:55 2001 4

转载 从程序员到项目经理

从程序员到项目经理(一):为什么要当项目经理“从程序员到项目经理”,这个标题让我想起了很久以前一本书的名字《从Javascript到Java》。然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过程。从Javascript到Java,是一个取巧的方法;而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升。一.为什么要当项目经理

2021-01-12 10:05:03 6735 2

原创 js 处理特殊字符

//匹配中文 数字 字母 下划线varcheckInput =function(str) {   varpattern =/^[\w\u4e00-\u9fa5]+$/gi;   if(pattern.test(c)) {       returnfalse;    }   returntrue;}//过滤特殊字符, 校

2016-10-28 15:50:43 1369 1

转载 缓存

在平时做项目的时候,有一些数据并不是很频繁的改动,而且这些数据在很多地方用到,这个时候就可以把这个数据做成缓存的形式,一旦有了缓存,就不用每次用到的时候,就去数据库里读取,只需要第一次拿到数据以后,以后就可以从缓存里面提取数据。一个通常的处理方式,就是在应用程序启动的时候,就从数据库读取数据,然后保存在缓存中.缓存的数据放在上面地方呢,在JAVA中比较方便的是放在hashmap里面。注意h

2016-01-29 09:58:10 342

转载 高并发高可用

构建高并发高可用的电商平台架构实践一、 设计理念 1. 空间换时间 1) 多级缓存,静态化客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代理缓存应用端的缓

2016-01-28 18:01:14 4397

转载 web开发中上传图片保存base64 好还是保存文件

使用base64:URL的优缺点个人觉得base64:URL传输图片文件的好处在于:1.减少了HTTP请求2.某些文件可以避免跨域的问题3.没有图片更新要重新上传,还要清理缓存的问题不足在于:1.浏览器支持使用base64编码图片作为背景图片的这种技术IE6/IE7浏览器是不支持的(IE9浏览器IE7模式下支持,这里被@前端的那点破事鄙视了

2016-01-28 17:36:04 14446

原创 项目开发中遇到的谷歌和火狐之间细微差异

1.火狐和IE可以使用document.documentElement.scrollTop获取滚动条高度,而谷歌只能用document.body.scrollTop。2.火狐中innerText是获取不到文本的。谷歌却可以。

2015-07-31 10:26:24 788

转载 java操作properties文件

public static String readValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath));

2014-10-11 11:24:24 285

转载 js常用校验

//校验是否全由数字组成[code] function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.test(s)) return false return true } [/code]//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串[code] function isRegisterUs

2014-09-17 10:57:13 368

原创 css+div模拟进度条

50%

2014-09-05 11:18:30 593

原创 今天面试面试官叫我当场写a+aa+aaa+aaaa......java实现,现在完善一下。

package publicpp.demo;import java.util.Scanner;public class SumNumbers{public SumNumbers(int num,int count){int[] r=getNumbers(num,count);System.out.println(getString(r)+ "=" + c

2013-09-30 10:35:27 782

Spring Cloud微服务全栈技术与案例解析

Spring Cloud微服务全栈技术与案例解析,

2018-11-22

用户故事地图 pdf

用户故事地图

2018-09-29

RazorSQL_8.0.2

万能数据库连接工具,支持Cassandra ,所有的关系型数据库,和所有的非关系行数据库 解压密码是xclient.info

2018-08-21

传统springmvc工程进行服务拆分以及dubbo化

传统springmvc进行crud之后将服务拆分为web,service,facade,parent,common等工程服务之后用dubbo进行部署服务进行服务化。

2017-11-14

cordova+html5=android app

cordova+html5=android app事例

2017-08-07

jQuery调用摄像头插件

jQuery调用摄像头插件

2017-03-31

RESTful WebService 例子

开发RESTful WebService 示例,数据传输使用json

2017-03-07

开发RESTful WebService 示例

开发RESTful WebService 示例

2017-02-10

springmvc+queryrunner自动生成

该工程是对jdbc的封装控制层使用springmvc持久层使用queryrunner

2016-11-16

jspxcms-4.0-数据库说明.xlsx

jspxcms-4.0-数据库说明.xlsx

2016-11-10

使用前端插件上传文件到ftp服务器

使用前端插件上传文件到ftp服务器,上传配置灵活,通过配置文件即可配置文件类型大小,还有ftp服务器连接信息

2016-08-24

java操作FTP各种例子

java操作FTP各种例子,java调用ftp进行远程crud

2016-07-25

XMLSpy2013

XMLSpy2013工具

2016-07-08

Axis2发布webservice包

Axis2发布webservice包

2016-06-24

HibernateTools

HibernateTools,HibernateTools逆向工程生成hbm等文件

2016-04-07

mantis bug追踪系统

bug追踪系统适合给开发和测试一起用

2016-03-09

org.python.pydev.feature-1_3_24.zip

python org.python.pydev.feature-1_3_24.zip

2016-01-23

mybatis-framework修改生成

1.创建一个utf-8的数据库,数据库名根据自己项目制定,项目采用SpringMVC+Mybatis等主流框架 2.创建好数据库之后建立好自己的业务表同时执行脚本jeecgmybatis.sql,将系统自带的表初始化到新建的数据库中 3.使用myeclipse新建web工程之后将jeecg-mybatis-framework目录下文件复制粘贴到新建的web工程目录下 4.在myeclipse中刷新新建的web工程之后找到resources/jeecg目录下 jeecg_config.properties与jeecg_database.properties修改此2个文件达到你自身项目所需要 5.右键项目build path一下 configuration build path 后将resources目录与src加入到build path中的Source 6.目录src/com/code/中修改Condatabase.java文件中的数据库连接部分代码 7.打开CodeUtil.java文件选择单个表执行还是所有表执行后 执行该java文件即可生成bean controller dao mapper service web等。。。。。刷新工程即可 8.生成好并刷新工程后注意修改spring-common.xml与spring-servlet.xml和web.xml 修改其中的数据库信息以及扫描包等信息 9.启动项目 访问:http://localhost:8080/项目名

2016-01-12

springmvc+webservice

springmvc+webservice 服务端示例,采取 Apache CXF 与Spring MVC 结合通过解析wsdl文件 生成客户端

2015-11-27

springmvc+mybitis+shiro示例

springmvc mybitis shiro 权限控制 示例

2015-11-25

springmvc mybatis 自动生成

此框架可自动生成SpringMvc+mybatis框架结构数据库采用的是mysql用户可以自行更改成自己需要的数据库,使用时将本项目导入myeclipse或eclipse中,更改项目名称为 你自定义的项目名称后在Test包中有2个java类GeneratorConfig,AutoGenerator ,其中GeneratorConfig中配置的是数据库以及包设置的配置信息,使用的时候需要 自己进行改动,AutoGenerator为main方法类,修改完配置信息后执行此java类则可生成相应的代码,此自动生成工具生成项目结构为src下自定义的包在自定义的包下有bean, controller,dao,mapper,service,同时包含了常用的功能块比如分页等。在webRoot目录下会生成back文件夹生成的相应的jsp文件会在此文件夹下。(注意:一定要有webRoot文件夹切记不可用WebContent代替) 生成之后注意要修改applicationContext.xml spring-mvc.xml

2015-11-04

springmvc+mybatis自动生成

此框架可自动生成SpringMvc+mybatis框架结构数据库采用的是mysql用户可以自行更改成自己需要的数据库,使用时将本项目导入myeclipse或eclipse中,更改项目名称为 你自定义的项目名称后在Test包中有2个java类GeneratorConfig,AutoGenerator ,其中GeneratorConfig中配置的是数据库以及包设置的配置信息,使用的时候需要 自己进行改动,AutoGenerator为main方法类,修改完配置信息后执行此java类则可生成相应的代码,此自动生成工具生成项目结构为src下自定义的包在自定义的包下有bean, controller,dao,mapper,service,在webRoot目录下会生成back文件夹生成的相应的jsp文件会在此文件夹下。(注意:一定要有webRoot文件夹切记不可用WebContent代替)

2015-10-26

linuxSVN版linux64位

linux svnlinuxSVN版linux64位

2015-08-17

rapid-framework-3.9.3.20100923

rapid-framework-3.9.3.20100923.zip

2015-07-30

springmvc_hibernate_spring 实例

整合好的springmvc_hibernate_spring 实例 可以根据此实例进行框架的搭建。

2015-01-08

jQuery easyui 使用文档

详细说明了jQuery easyui 的使用方法,配置以及安装。

2014-09-06

java web ssh框架 后台系统自动生成工具

本工程是基于ssh框架的后台自动生成工具,该工具可以生成dao,daoImpl,service,serviceImpl,Action,applicationContext.xml,struts.xml,web.xml文件,可以使开发人员尽量少的进行编写重复代码以及避免一些错误。

2014-09-05

空空如也

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

TA关注的人

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