传统Java Web(非Spring Boot)、非Java语言项目接入Spring Cloud方案

chenhaozjnubit | | 2017-09-29
技术架构在向Spring Cloud转型时,一定会有一些年代较久远的项目,代码已变成天书,这时就希望能在不大规模重构的前提下将这些传统应用接入到Spring Cloud架构体系中作为一个服务以供其它项目调用。我们需要使用原生的Eureka/Ribbon手动完成注册中心、查询服务列表功能。如果是非Java项目,可以使用 Spring Sidecar 项目接入Spring Cloud形成异构系统。JD [阅读全文]
ė725次浏览 60条评论 0 Spring cloud

Spring Cloud与分布式系统

chenhaozjnubit | | 2017-09-25
背景2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思想已经不能满足互联网高并发、大流量的性能要求。系统架构走向分布式已经是服务器开发领域解决该问题唯一的出路,然而分布式系统由于天生的复杂度,并不像开发单体应用一样把框架一堆就能搞定,因此各大互 [阅读全文]
ė546次浏览 60条评论 0 Spring cloud

Spring零配置通过注解实现Bean依赖注入总结

chenhaozjnubit | | 2017-09-20
12.2  注解实现Bean依赖注入12.2.1  概述       注解实现Bean配置主要用来进行如依赖注入、生命周期回调方法定义等,不能消除XML文件中的Bean元数据定义,且基于XML配置中的依赖注入的数据将覆盖基于注解配置中的依赖注入的数据。 Spring3的基于注解实现Bean依赖注入支持如下三种 [阅读全文]
ė539次浏览 60条评论 0 Spring

spring cloud config 入门

chenhaozjnubit | | 2017-07-11
简介Spring cloud config 分为两部分 server client config-server 配置服务端,服务管理配置信息config-client 客户端,客户端调用server端暴露接口获取配置信息config-server创建config-server首先创建config-server工程.文件结构: ├── config-server.iml ├── pom.xml [阅读全文]
ė555次浏览 60条评论 0 Spring cloud

Spring容器中的Bean几种初始化方法和销毁方法的先后顺序

chenhaozjnubit | | 2017-07-04
Spring 容器中的 Bean 是有生命周期的,spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法:通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;通过 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;在指定方法上加上@ [阅读全文]
ė702次浏览 60条评论 0 Spring

Spring MVC将异常映射到HTTP状态码

chenhaozjnubit | | 2016-12-08
在自定义的异常类上使用@ResponseStatus更改当请求产生异常时返回的HTTP状态码时产生了问题,虽然异常仍然被@ExceptionHandler注解的异常处理方法拦截了,但是产生的状态码仍然是200。解决方法是将@ResponseStatus注解移到异常处理方法上,如@ControllerAdvice @RestController public class CustomExcept [阅读全文]
ė931次浏览 60条评论 0 Spring

SpringMVC 深度解析@RequestMapping

chenhaozjnubit | | 2016-11-16
  SpringMVC作为一个MVC框架,有控制层,当我们在浏览器发出了一个请求,SpringMVC是怎么处理请求,而且通过请求找到对应的类的方法?我们今天带着这么问题来解析SpringMVC源代码处理过程。  我们在实现SpringMVC控制层时,标示了请求路径,并标示请求地址对应的哪个方法,源代码如下:@Controller @RequestMapping(value=" [阅读全文]
ė1059次浏览 60条评论 0 Spring

消息中间件(一)分布式系统事务一致性解决方案大对比,谁最好使?

chenhaozjnubit | | 2016-11-14
在分布式系统中,同时满足“一致性”、“可用性”和“分区容错性”三者是不可能的。分布式系统的事务一致性是一个技术难题,各种解决方案孰优孰劣?在OLTP系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob给Smith转账的案例。传统的企业开发,系统往往是以单体应用形式存在的,也没有横跨多个数据库。我们通常只需借助开发平台中特有数据访问技术和框架(例如spring、JDBC、A [阅读全文]
ė794次浏览 60条评论 0 Spring

spring-data-jpa中findOne与getOne的区别

chenhaozjnubit | | 2016-11-02
项目中用到了spring-data-jpa,今天在写一个update方法的时候报了个空指针,看了看是因为一个对象中的关联没有取出来,我用的是getOne取得这个对象,加断点看以一下这个对象是个hibernate的代理对象,而不是实体,里面基本没有值。 然后我又换成findOne试了一下,断点查看这个取出来的对象,这个对象是实体,关联也有。 fi [阅读全文]
ė947次浏览 60条评论 0 Spring

<context:component-scan>使用说明

chenhaozjnubit | | 2016-09-08
   在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean注意:如果配置了那么标签就可以不用再xml中配置了,因为前者包含了后者。另外还提供了两个子标签1.     & [阅读全文]
ė638次浏览 60条评论 0 Spring

Spring的核心技术---循环依赖

chenhaozjnubit | | 2016-09-06
循环依赖如果使用构造器注入的方法,就可能会创建一个无法解析的循环依赖的场景。例如:类A通过构造器注入需要类B的一个实例,并且类B通过构造器注入也需要一个类A的实例。如果对类A和B做了这样的相互注入的配置,那么Spring的IoC容器会在运行时检查这种循环引用,并抛出BeanCurrentlyInCreationException异常。一种可能的解决是修改某些类的源代码,通过Setter方法而不是构 [阅读全文]
ė1136次浏览 60条评论 0 Spring

Spring学习之使用关闭钩子销毁bean

chenhaozjnubit | | 2016-08-30
Spring中关于bean的销毁有三种方法。分别是1)执行某一方法如destroy()方法,然后在标签上的 destroy-method属性制定方法名就行了。2)实现DisopableBean接口的destroy方法,DispoableBean接口只有 一个destroy方法,在bean销毁前调用。代码如下: [java] view plain copy [阅读全文]
ė966次浏览 60条评论 0 Spring

Java Code Examples for org.springframework.data.jpa.repository.support.JpaEntityInformation

chenhaozjnubit | | 2016-08-22
+ Save this class to your library Example 1 Project: jspxcms304   File: MyQueryDslJpaRepository.java View source code [阅读全文]
ė1313次浏览 60条评论 0 Spring jpa

利用Spring随时随地获得Request和Session

chenhaozjnubit | | 2016-08-18
利用Spring随时随地获得Request和Session 一、准备工作: 在web.xml中添加   org.springframework.web.context.request.RequestContextListener   [阅读全文]
ė647次浏览 60条评论 0 Spring

学习Spring Data JPA 小结

chenhaozjnubit | | 2016-08-16
前几天看了springside4的mini-web代码发现确实有不少新的东东,咱这次单说说Spring Data JPA吧。 引用springside4的 wiki关于对Spring Data JPA的简介 Spring Data JPA在JPA上又做了一层封装,只要编写接口就够了,不用写一行实现代码,CRUD方法啦,分页啦,自动将findByLoginName()的 [阅读全文]
ė726次浏览 60条评论 0 Spring

Spring MVC与JAX-RS比较与分析

chenhaozjnubit | | 2016-07-29
现在有越来越多的公司希望能以简单而又贴合Web架构本身的方式公开Web API,因此REST变得越来越重要也就不足为奇了。使用Ajax进行通信的富浏览器端也在朝这个目标不断迈进。这个架构原则提升了万维网的可伸缩性,无论何种应用都能从该原则中受益无穷。 JAX-RS(JSR 311)指的是Java API for RESTful Web Services,Roy Fielding也 [阅读全文]
ė960次浏览 60条评论 0 Spring JAX-RS

Spring事务管理只对出现运行期异常进行回滚

chenhaozjnubit | | 2016-07-27
一、结论 Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚。 如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚。 关于异常的分类一下详细介绍: 1、基本概念 看java的异常结构图   Throwable是所有异常的根,java.lang [阅读全文]
ė955次浏览 60条评论 0 Spring

Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务

chenhaozjnubit | | 2016-06-28
前面我们已经完成了spring 3和quartz 2的整合以及动态添加定时任务,我们接着来完善它,使之能支持更多的操作,例如暂停、恢复、修改等。 在动态添加定时任务中其实已经涉及到了其中的一些代码,这里我们再来细化的理一理。先来看一下我们初步要实现的目标效果图,这里我们只在内存中操作,并没 有把quartz的任何信息保存到数据库,即使用的是RAMJobStore [阅读全文]
ė1618次浏览 60条评论 0 Spring quartz

获取spring的ApplicationContext几种方式

chenhaozjnubit | | 2016-06-27
常用的5种获取spring 中bean的方式总结: 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml"); ac.getBean("beanId"); 说明:这种方式适用于采用Spring [阅读全文]
ė928次浏览 60条评论 0 Spring

了解 Spring Data JPA

chenhaozjnubit | | 2016-05-31
前言 自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择。它一改之前 EJB 2.x 中实体 Bean 笨重且难以使用的形象,充分吸收了在开源社区已经相对成熟的 ORM 思想。另外,它并不依赖于 EJB 容器,可以作为一个 [阅读全文]
ė697次浏览 60条评论 0 Spring

springMVC 获取request 处理全局session业务

chenhaozjnubit | | 2016-05-18
原文  http://blog.csdn.net/xingkong22star/article/details/39056323 a target=_blank href="http://blog.csdn.net/is_zhoufeng/article/details/7559756" style="color: rgb(0, 0, 0); [阅读全文]
ė1030次浏览 60条评论 0 Spring

SpringMVC与Struts2的对比

chenhaozjnubit | | 2016-04-28
面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。 把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的)。   为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看 [阅读全文]
ė854次浏览 60条评论 0 Spring Struts

69道Spring面试题和答案

chenhaozjnubit | | 2016-04-14
原文地址    译者:深海(1422207401@qq.com)  校对:方腾飞 目录 Spring 概述 依赖注入 Spring beans Spring注解 [阅读全文]
ė714次浏览 60条评论 0 Spring

AOP中的@Aspect用法,用于监控程序的执行方法

chenhaozjnubit | | 2016-03-08
Spring使用的AOP注解分为三个层次: 前提条件是在xml中放开了 1、@Aspect放在类头上,把这个类作为一个切面。 2、 @Pointcut放在方法头上,定义一个可被别的方法引用的切入点表达式。 3、5种通知。 3.1、@Before,前置通知,放在方法头上。 3.2、@After,后置【fina [阅读全文]
ė784次浏览 60条评论 0 Spring

Spring4新特性——注解、脚本、任务、MVC等其他特性改进

chenhaozjnubit | | 2015-12-08
  一、注解方面的改进 spring4对注解API和ApplicationContext获取注解Bean做了一点改进。 获取注解的注解,如@Service是被@Compent注解的注解,可以通过如下方式获取@Componet注解实例: Java代码   An [阅读全文]
ė885次浏览 60条评论 0 Spring

Spring4新特性——泛型限定式依赖注入

chenhaozjnubit | | 2015-12-03
Spring 4.0已经发布RELEASE版本,不仅支持Java8,而且向下兼容到JavaSE6/JavaEE6,并移出了相关废弃类,新添加如Java8的支 持、Groovy式Bean定义DSL、对核心容器进行增强、对Web框架的增强、Websocket模块的实现、测试的增强等。其中两个我一直想要的增 强就是:支持泛型依赖注入、对cglib类代理不再要求必须有空参构造器了。具体更 [阅读全文]
ė1041次浏览 60条评论 0 Spring

Spring4新特性——Web开发的增强

chenhaozjnubit | | 2015-12-02
从Spring4开始,Spring以Servlet3为进行开发,如果用Spring MVC 测试框架的话需要指定Servlet3兼容的jar包(因为其Mock的对象都是基于Servlet3的)。另外为了方便Rest开发,通过新的 @RestController指定在控制器上,这样就不需要在每个@RequestMapping方法上加 @ResponseBody了。而且添加了一个 [阅读全文]
ė881次浏览 60条评论 0 Spring

java之redis篇(spring-data-redis整合)

chenhaozjnubit | | 2015-11-26
redis的知识:官网 1,利用spring-data-redis整合 项目使用的pom.xml: project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche [阅读全文]
ė976次浏览 60条评论 0 Spring redis

Spring中加载xml配置文件的六种方式

chenhaozjnubit | | 2015-11-25
因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装入系统,这就需要利用Spring去动态加载某一位置下的配置文件,所以就总结 了下Spring中加载xml配置文件的方式,我总结的有6种, xml是最常见的spring 应用系统配置源。Spring中的几种容器都支持使用xml装配bean,包括: XmlBeanFactory,ClassPathXmlApplicatio [阅读全文]
ė838次浏览 60条评论 0 Spring

springMVC注解@initbinder

chenhaozjnubit | | 2015-11-12
搞了一上午的bug最终还是因为自己springMVC的注解不熟悉的原因,特记录。 在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。 比较简单的可以直接应用springMVC的注解@initbinder和sprin [阅读全文]
ė1095次浏览 60条评论 0 Spring

SpringMVC视图解析器

chenhaozjnubit | | 2015-11-10
前言    在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器。当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着 Spring会分析看哪一个HandlerMapping定义的所有请求映射中存在对该请求的最合理 [阅读全文]
ė966次浏览 60条评论 0 Spring

Spring注解详解

chenhaozjnubit | | 2015-09-14
概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。 [阅读全文]
ė970次浏览 60条评论 0 Spring

解决a different object with the same identifier value was already associated with the session错误

chenhaozjnubit | | 2015-09-09
 这个错误我一共遇到过两次,一直没有找到很好的解决方案,这个错误产生 原因相信大家都知道,因为在hibernate中同一个session里面有了两个相同标识 但是是不同实体,当这时运行saveOrUpdate(object)操作的时候就会报这个错误。 呵呵,也许你会说,你这么说跟没说没什么区别,我承认,呵呵,我不知道具体 为什么会产生这个错误,要不然也不会很久都没 [阅读全文]
ė981次浏览 60条评论 0 Spring

Quartz与Spring的整合-Quartz中的job如何自动注入spring

chenhaozjnubit | | 2015-09-07
我们要达到这样的效果 public class CancelUnpaidOrderTask implements Job { @Autowired private AppOrderService orderService; @Override public void execute(JobExecutionContext ctx) throws [阅读全文]
ė1073次浏览 60条评论 0 Spring

spring @component的作用

chenhaozjnubit | | 2015-08-27
1、@controller 控制器(注入服务) 2、@service 服务(注入dao) 3、@repository dao(实现dao访问) 4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的)   @Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spri [阅读全文]
ė1035次浏览 60条评论 0 Spring

Spring--使用@Aspectj进行AOP开发

chenhaozjnubit | | 2015-08-25
转:http://blog.csdn.net/knight117/archive/2010/02/25/5326286.aspx 很好的文章,为什么会这么少人看呢?我转了,作者写得很好. 一、aop术语: 1、切面:所有切入点的集合 2、切入点:一组符合某种规则的连接点 3、连接点:狭义上通俗 [阅读全文]
ė1101次浏览 60条评论 0 Spring

Quartz在Spring中集群

chenhaozjnubit | | 2015-08-05
虽然单个Quartz实例能给予你很好的Job调度能力,但它不能满足典型的企业需求,如 可伸缩性、高可靠性满足。假如你需要故障转移的能力并能运行日益增多的 Job,Quartz集群势必成为你应用的一部分了。使用 Quartz 的集群能力可以更好的支持你的业务需求,并且即使是其中一台机器在最糟的时间崩溃了也能确保所有的 Job 得到执行。 Quartz 中集群如何工作 一 个 [阅读全文]
ė1687次浏览 60条评论 0 Spring

quartz CronExpression表达式

chenhaozjnubit | | 2015-07-16
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为1.秒(0~59)2.分钟(0~59)3.小时(0~23)4. 天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11)6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099) 其中每个元素可以是一个值(如6),一个连续区 [阅读全文]
ė856次浏览 60条评论 0 Spring

Spring单例与线程安全小结

chenhaozjnubit | | 2015-07-14
一、Spring单例模式与线程安全   Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。   单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 当多用户同时请求一个服务时 [阅读全文]
ė673次浏览 60条评论 0 Spring

spring ioc原理(看完后大家可以自己写一个spring)

chenhaozjnubit | | 2015-07-13
最近,买了本Spring入门书:spring In Action 。大致浏览了下感觉还不错。就是入门了点。Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬 的心情和激情通览了一遍。又一次接受了IOC 、DI、AOP等Spring核心概念。 先就IOC和DI谈一点我的看法。 IOC(DI): 其实这个Spring架构核心的概 [阅读全文]
ė887次浏览 60条评论 0 Spring

spring3.1 mvc+spring

chenhaozjnubit | | 2015-07-07
学习了一段时间的spring mvc,个人觉得在配置方面相比struts更为简单。RESTful URL、几乎0配置、不需要实现任何接口或继承任何类的Controller、方法级别的拦截,一个方法对应一个url、灵活的方法参数和返回值、多种view、处理ajax的请求更是方便... lib 如下: web.xml如下: [阅读全文]
ė1043次浏览 60条评论 0 Spring

Spring中Quartz调度器的使用

chenhaozjnubit | | 2015-07-06
一、Quartz的特点 * 按作业类的继承方式来分,主要有以下两种: 1.作业类继承org.springframework.scheduling.quartz.QuartzJobBean类的方式 2.作业类不继承org.springframework.scheduling.quartz.QuartzJobBean类的方式 注:个人比较推崇第二种 [阅读全文]
ė808次浏览 60条评论 0 Spring