java框架
漫长学习路
为了完善自己的代码,我会尽自己最大的努力
展开
-
数据库分库分表策略(转载)
一、分库分表的背景在数据爆炸的年代,单表数据达到千万级别,甚至过亿的量,都是很常见的情景。这时候再对数据库进行操作就是非常吃力的事情了,select个半天都出不来数据,这时候业务已经难以维系。不得已,分库分表提上日程,我们的目的很简单,减小数据库的压力,缩短表的操作时间。二、如何进行数据切分数据切分(Sharding),简单的来说,就是通过某种特定的条件,将存放在同一个数据库中的数据拆...原创 2019-10-15 14:30:38 · 704 阅读 · 0 评论 -
Spring Security3 - MVC 整合教程 (初识Spring Security3)
面我们将实现关于Spring Security3的一系列教程. 最终的目标是整合Spring Security + Spring3MVC 完成类似于SpringSide3中mini-web的功能. Spring Security是什么? 引用Spring Security,这是一种基于Spring AOP和Servlet过滤器的安全框架。它提供全面的安全性解决方案,同时在Web请求级和方法调用级处转载 2016-09-29 16:57:26 · 1381 阅读 · 0 评论 -
Java通用权限系统管理(Spring+springMVC+ibatis+Angularjs)
出来工作几年了,大大小小也做了几套权限管理系统,第一次做的非常水,只做增删改查,基本上处于给别人打打下手,第二次是自己单独做的,但是功能不是很完整。现在准备把自己做权限管理系统的经验与心得拿出来分享总结,然后在做一套自己的权限系统, 以后慢慢开源。打算采用Spring+springMVC+ibatis+Angularjs+bootstrap+ehCache来做。RBAC权限模型:RBAC(...原创 2016-11-09 17:20:28 · 10203 阅读 · 27 评论 -
spring boot 教程(四) 统一异常处理
我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。下图列出了Spring Boot中跟MVC异常处理相关的类。 在spring Boot中,我们如果访问一个不存在的URL,就会得到spring boot中内置的页面。我们在这里修改一下,原创 2017-08-08 20:06:47 · 3852 阅读 · 1 评论 -
spring boot 教程(六)多数据源配置与使用
之前在介绍使用JdbcTemplate的时候使用了单数据源,在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,下面基于之前的JdbcTemplate例子分别介绍两种多数据源的配置方式。 多数据源配置创建一个Spring配原创 2017-08-16 16:39:04 · 1575 阅读 · 0 评论 -
spring boot 教程(五)使用JdbcTemplate访问数据库
今天用Spring Boot访问一下数据库,并且把数据返回到页面中,进行增删改查操作。主要介绍springboot通过jdbc访问关系型MySQL,通过spring的JdbcTemplate去访问。 创建mysql:CREATE TABLE `users` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) NOT NULL原创 2017-08-09 15:24:25 · 1352 阅读 · 0 评论 -
spring boot 教程(一) 构建我的第一个Spring boot
Spring Boot特点1. 创建独立的Spring应用程序2. 嵌入的Tomcat,无需部署WAR文件3. 简化Maven配置4. 自动配置Spring5. 提供生产就绪型功能,如指标,健康检查和外部配置6. 绝对没有代码生成和对XML没有要求配置[1] 这里介绍两种构建方式,第一种是使用官方的生成工具生成。第二种是使用eclipse的sts插件生成。个人建议第二种,安装集成过程稍微麻烦点,但原创 2017-08-02 15:04:35 · 1368 阅读 · 1 评论 -
spring boot 教程(二)模板依赖
在Spring boot中有一个很重要的概念,叫做约定优于配置——软件开发的简约原则。所以Spring boot会按照约定好的文件位置去找我们的包和类。默认配置Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static/public/resources/META-INF/resources举例:我们可以在src/main/resources/目录原创 2017-08-04 11:46:08 · 1387 阅读 · 1 评论 -
spring boot 教程(三)配置详解
在大部分情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做修改一些配置,或者需要有自己的配置属性。Spring Boot 支持多种外部配置方式这些方式优先级如下:命令行参数来自java:comp/env的JNDI属性Java系统属性(System.getProperties())操作系统环境变量RandomValuePropertySource配置原创 2017-08-04 17:57:26 · 1924 阅读 · 1 评论 -
springboot redis shiro的后台管理模板
最近整合了一个spring boot redis shiro的后台管理模板,但是结果不是很满意用的是thymeleaf每次点击一下菜单,就要去重新刷新一下,远不如angularjs的单页面好用。把这个半成品拿出来分享一下吧。前端的模板还挺好看的,不过还是要加以改造。自带换肤功能,感觉这个功能还是挺酷炫的。数据库:还是是用标准的5张表来展现权限。 分别为用户表,角色表,资源表,用户角色表,角色资源表原创 2017-09-22 11:54:28 · 4103 阅读 · 0 评论 -
一个简单的支付系统设计
1.设计思路每个公司都有自己的支付系统,有很复杂的像支付宝这种,也有超级简单的就是一个接入第三方支付。这里我想设计一个简易的完整的支付系统,我应为应当包括,支付网关,支付渠道,基本支付,以及风险监控。1.1支付网关支付网关是对外提供服务的接口,所有需要渠道支持的资金操作都需要通过网关分发到对应的渠道模块上。一旦定型,后续就很少,也很难调整。而支付渠道模块是接收网关的请求,调用渠道接口执...原创 2018-09-21 16:45:19 · 4028 阅读 · 1 评论 -
spring boot 动态数据源
由于项目中要用到spring boot结合mybatis做一个动态的数据源,所以自己做了一个,也踩了很多坑,这里把成果分享出来。如果是1.x的springboot版本可以看前面的,如果是2.x版本的可以看后面的,2.x版本的更简单方便。一、Springboot + Mybatis 多数据源配置1.Springboot.yml配置文件server: port: 9281#spri...原创 2018-10-19 16:52:03 · 733 阅读 · 1 评论 -
spring cloud 服务注册与发现
Eureka的工作原理以及它与Zookeeper的区别1.Eureka的简介: Eureka是Netflix出品的用于实现服务注册与发现的工具。Spring Cloud集成了Eureka,并提供了开箱即用的支持。其中,Eureka又可细分为Eureka Server和Eureka Client。1.基本原理服务启动后向Eureka注册,Eureka Server会将注册信息向其他...原创 2019-02-21 18:50:43 · 446 阅读 · 0 评论 -
Spring Web Flow
开始之前关于本教程本教程通过一个简化的购物车应用,介绍了如何使用 Spring Web Flow 2.0 来构建 Web 应用程序。本教程以讲解实例为主,为了读者更好地理解 Spring Web Flow ,也有部分理论的解释。先决条件本教程要求读者具备 Java Web 应用的基本知识、熟悉 Spring Framework 的应用。系统要求运行本教程中的示例,需要下列工具:JDK 1.6.0+转载 2016-09-27 16:16:12 · 2811 阅读 · 0 评论 -
mybatis动态SQL
基础部分可以查看我的另一篇博客:http://haohaoxuexi.iteye.com/blog/1333271 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。MyBatis中用于实现动态SQL的元素主要有: ifchoose(when,otherwise)trimwheresetforeachif就是简单的条件判断,利用if语句我们可以实现某转载 2016-10-10 11:11:42 · 603 阅读 · 0 评论 -
IOC容器概述
简述一下IOC的设计概念以及设计思想,然后再认识一下java反射技术。IOC大家都是知道是spring的核心,他的中文名字叫做控制反转,即当一个类里面包含另一个类的时候,我们通常把这种类称为包含类,或者一个类和另外一个类组合成了一个类,这种叫做组合类。当我们需要使用这些类的时候不得不去创建或者去引用这几个类。再打个比方,面向对象的设计理念就是万物皆对象,即当我们需要去银行取钱的时候,就需要先去原创 2015-05-05 14:25:19 · 1105 阅读 · 0 评论 -
Ioc容器之装配详解1
在spring中,对象无需自己查找和创建需要调用和关联的对象,spring容器会自动为我们提供这个对象,并把需要相互协调,有依赖关系的对象都给我们配置好,这就叫spring的装配;原创 2015-05-12 11:55:33 · 1004 阅读 · 0 评论 -
解析struts.xml
由于要用到struts2框架了,不得不去重新认识一下它,以前接触过yibufen转载 2015-06-13 10:08:56 · 980 阅读 · 1 评论 -
spring入门实例详解
spring框架在我们的开发中用到的很多,前面几篇博客也理解了一下spring的基本概念,现在准备写一个spring框架的入门实例,以一个登陆认证签到模块为例子;实例说明:登陆签到模块其实很简单,首先用户输入网址,然后系统进入欢迎页面,在欢迎页面填写账号和密码的表单,点击提交到服务端,检查用户名密码,是否匹配,如果匹配就记录登陆日志,显示登陆成功,在登陆成功页面有一个点击签到功能,点击签到原创 2015-09-06 17:14:01 · 14444 阅读 · 2 评论 -
Java模板引擎FreeMarker介绍和使用
1.什么是FreeMarkerFreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)Free转载 2016-02-18 09:41:42 · 4190 阅读 · 0 评论 -
spring事务管理
理论篇:什么是事务?举个简单点的例子,张三和李四之间相互转账,假设张三通过支付宝转给李四400元,首先会修改张三的账户余额,把张三的总金额减去400,然后再找到李四的账户,为李四的账户增加400元;我们说这才是一件完整的事情,很简单的这件事情就是张三给李四转账,这个事情的任务就是李四要收到张三的400元,如果张三因为转账途中断网断电了,那就说明这个事务不完整;所以我们要控制这个事务要么一起原创 2016-04-16 22:46:17 · 2085 阅读 · 0 评论 -
探索Bean的作用域及实现方式
Spring 有五种作用域,其中只有三种是其中有三种只能用在基于web的Spring ApplicationContext,先来看一张图,下图摘自Spring实战;接下来写一个例子来分析一下Spring的内置作用域;1.singleton作用域:上面那张图已经详细的介绍了他的作用范围,即在一个Spring容器中,一个Bean定义只有一个对象实例,而且这也是默认的。只要Id与我们原创 2015-05-14 09:56:35 · 1103 阅读 · 0 评论 -
Ibatis的TypeHandlerCallback用法详解
今日项目中遇到了一个需求,就是把所有的float的值,插入数据库的时候默认都设置为0,我们都知道页面上的值如果不传过来的话,在action用@RequestBody接受这个对象的时候,里面的值就是null的,ibatis有一个很奇怪的null值处理方式,就是我不传值的话,他会把null也给插入进去,这个时候数据库再去设置的默认值就不起作用了;这个时候有几个解决办法,其中最简单的方法就是在插入的原创 2016-08-01 14:39:55 · 2126 阅读 · 0 评论 -
关于Spring事务的问题
场景:在业务开发中有一个方法,这个方法是无论异常还是失败都要让他执行成功,比如说数据库要有一个计数的功能,只要调用了这个方法就会去把数据库表字段加1;假如我们在其他service里面调用了这个方法,而且还是多线程高并发的情况下,这个方法就很容易出问题;这个方法的步骤为读取改值,并且修改加1。1.在多线程的情况下,容易读取到相同的值,比如在读取该值的时候,还没有来得及加1,原创 2016-08-04 17:57:11 · 829 阅读 · 0 评论 -
eclipse怎么阅读Spring源码
最近阅读Spring源码,然后准备工作做了一堆,先说一说网上的教程吧;http://blog.csdn.net/zeuskingzb/article/details/41425421这里面使用的是git加Gradle加JDK8加Groovy,Spring源码深入解析这本书里面也提到过。然后下载完后各种环境问题,另外Gradle真心不会用,搞了几天,无奈,打算换一种思路;我这里不是逃避问题,而是原创 2016-08-06 17:13:10 · 7776 阅读 · 4 评论 -
spring源码阅读之Bean的加载(一)
Bean的概念Bean应该是Spring里面最核心的东西了,我觉得Bean这个名字起的还是很形象的,Bean豆;豆形种子Spring应该就是包括在豌豆最外层的那层衣服了,而Bean就是里面的一颗一颗的豆子。我们平常开发中就是把Spring里面塞入一颗一颗的豆子。根据面向对象的开发原则,Bean其实也就是个对象,来看一看我们一个正常的系统中都配置了什么Bean;按照面原创 2016-08-06 22:27:50 · 1180 阅读 · 0 评论 -
Spring MVC的拦截器
什么是拦截器?拦截器是指通过统一拦截从浏览器发送到服务器的请求来完成我们对功能的增强。Java过滤器跟SpringMVC的拦截器有什么不同?定义:拦截器是可以拦截我们配置的方法,并且在我们的方法请求前后去做一些处理,比如做字符编码,验证校验等。而过滤器:是在javaweb中,你传入的request、response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的原创 2016-08-14 12:21:52 · 2468 阅读 · 0 评论 -
SSM整合+Dubbo+zookeeper-3.4.6
最近刚好有点时间,特意来整合一下项目,以后会陆续把前端框架和一些组件也给整合进去,今天就先来整合一下SSM+mysql+dubbo+zookeeper来做一个用户列表功能。关于理论性的知识,大家可以自行查阅下资料,这里重点讲解一下怎么搭建这一套开发环境。背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不原创 2016-09-23 16:07:50 · 19056 阅读 · 31 评论 -
浅谈Spring
有的时候我一直在想,Spring到底是什么?Spring到底能干什么?我们为什么要用spring?我个人认为spring其实就是一个集成框架,他把一些基础的代码都给封装好了,我们只需要按照spring的一套规范去使用就好了。同时spring也是一个容器Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)原创 2015-04-30 15:44:11 · 1333 阅读 · 0 评论