文末我会说说为什么测试必须学spring. REST REST,是指REpresentational State Transfer,有个精辟的解释什么是RESTful, 看url就知道要什么 看method就知道干什么 看status code就知道结果如何 实际上,RESTful API已经成为构建微服务的标准了,因为RESTful API容易build和consume. 为什么选择REST?REST信奉web的规则,包括架构.效益和其他一切.这并非偶然,因为spring的作者Roy Fiel…
转载请标注:张小燕:http://www.cnblogs.com/zhangxinyan 1. Application 中的 service 我们知道Android中Service有三种类型:Local Service,Local Bounded Service,Remote Service. Local Service:基本是提供给自已应用使用,通过startService(intent)来启动. Local Bounded Service:也是提供给自己应用使用,通过bindService(…
出现RpcException:No provider available for remote service异常,表示没有可用的服务提供者. 解决思路: 1.检查连接的注册中心是否正确 2.到注册中心查看响应的服务提供者是否存在 3.检查服务提供者是否正常运行-->访问监控中心 http://ip:8080/dubbo-admin/  访问该web项目,可看到 服务/应用/提供者/消费者/负载均衡 4.服务提供者没挂,但在注册中心里看不到 ? 首先,确认服务提供者是否连接了正确的注册中心,不只…
service层的类都有用@Service标识,但报空指针,注入失败,很可能是因为spring的application配置和springmvc的配置文件配置错误,导致容器冲突了. spring和springmvc整合后,项目会有2个容器,一个是spring容器,一个是springmvc容器 spring容器是父容器,springmvc容器是spring容器的子容器. spring容器初始化后,springmvc再进行初始化,并将spring容器作为它的父容器. 子容器能够访问父容器的bean,而…
合Spring时Service层为什么不做全局包扫描详解 一.Spring和SpringMVC的父子容器关系 1.讲问题之前要先明白一个关系 一般来说,我们在整合Spring和SpringMVC这两个框架中,web.xml会这样写到: <!-- 加载spring容器 --> <!-- 初始化加载application.xml的各种配置文件 --> <context-param> <param-name>contextConfigLocation</pa…
整合Spring时Service层为什么不做全局包扫描详解 一.Spring和SpringMVC的父子容器关系 1.讲问题之前要先明白一个关系 一般来说,我们在整合Spring和SpringMVC这两个框架中,web.xml会这样写到: <!-- 加载spring容器 --> <!-- 初始化加载application.xml的各种配置文件 --> <context-param> <param-name>contextConfigLocation</p…
官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#_serving_alternative_formats 文中例子我做了一些测试在:http://git.oschina.net/dreamingodd/spring-cloud-preparation 官方项目:https://github.com/spring-cloud-samples/config-repo 6.提供替代格式 由于Spring应用直接映射到环境抽…
spring简介 Spring 是一个开源框架,中文意思就是春天,也许是作者想让自己的这个框架给Java开发人员带来春天吧.其官方网站是 https://spring.io/ ,可以在官方网站下载到完整的类库,源代码以及文档.spring是一个高度灵活的轻量级框架,其目的是降低企业级应用开发的复杂度. spring的特点 轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API 容器:Spring 是一个容器, 因为它包含并且管理应用对…
https://piotrminkowski.wordpress.com/2018/04/26/quick-guide-to-microservices-with-spring-boot-2-0-eureka-and-spring-cloud/ github源码:https://github.com/bigben0123/sample-spring-microservices-new There are many articles on my blog about microservices w…
Spring Boot 公共配置,配置 application.properties/application.yml 文件中. 摘自:http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html # =================================================================== # COMMON SPRING…
原文链接 在本附录中,我们会讨论一些初级的Spring AOP接口,以及在Spring 1.2应用中所使用的AOP支持. 对于新的应用,我们推荐使用 Spring AOP 2.0来支持,在AOP章节有介绍.但在已有的项目中,或者阅读数据或者文章时,可能会遇到Spring AOP 1.2风格的示例.Spring 2.0完全兼容Spring 1.2,在本附录中所有的描述都是Spring 2.0所支持的. Spring中的切入点API 一起看一下Spring是如何处理关键切入点这个概念. 概念 Spr…
AOP(Aspect Oriented Programming)面向切面编程,通过预编译方式和运行期动态代理实现程序功能的横向多模块统一控制的一种技术.AOP是OOP的补充,是Spring框架中的一个重要内容.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率.AOP可以分为静态织入与动态织入,静态织入即在编译前将需织入内容写入目标模块中,这样成本非常高.动态织入则不需要改变目标模块.Spring框架实现了AOP,使用注解…
控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法.没有IoC的程序中我们使用面向对象编程对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了. IoC是Spring框架的核心内容,使用多种方式完美的实现了IoC,可以使用XML配置,也可以使用注解,新版本的Spring也可以零配置实现Io…
为了梳理前面学习的内容<Spring整合MyBatis(Maven+MySQL)一>与<Spring整合MyBatis(Maven+MySQL)二>,做一个完整的示例完成一个简单的图书管理功能,主要使用到的技术包含Spring.MyBatis.Maven.MySQL及简单MVC等.最后的运行效果如下所示: 项目结构如下: 一.新建一个基于Maven的Web项目 1.1.创建一个简单的Maven项目,项目信息如下: 1.2.修改层面信息,在项目上右键选择属性,再选择“Project…
接着上一篇博客<Spring整合MyBatis(Maven+MySQL)一>继续. Spring的开放性和扩张性在J2EE应用领域得到了充分的证明,与其他优秀框架无缝的集成是Spring最为强大的功能.Spring类似电脑的主板,可以将许多部件集成在一起协调工作. 一.在Web项目中启动Spring容器 在Web项目中当Web容器启动时我们要同时启动Spring容器,有三种办法,第一种使用监听器启动,第二使用Servlet启动,第三使用MVC框架的扩展点启动,这里主要选择第一种,因为监听器的启…
在使用Spring所提供的各种丰富而神奇的功能之前,必须在Spring IoC容器中装配好Bean,并建立Bean与Bean之间的关联关系.控制反转(Inverser of Control ioc)是Spring容器的内核,AOP.声明式事务等功能都是在此基础上开花结果的.所谓Ioc,就是通过容器来控制业务对象之间的依赖关系,而非传统实现中,由代码直接操控.这也就是“控制反转”概念的所在:控制权由应用代码中转到了外部容器,控制权的转移,就是反转.控制权转移带来的好处就是降低了业务对象之间的依赖程…
1.概念 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,Spring致力于J2EE应用的各层的解决方案,Spring是企业应用开发的“一站式”选择,并贯穿表现层.业务层及持久层.简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. MVC——Spring的作用是整合,但不仅仅限于整合,Spring 框架可以被看做是一个企业解决方案级别的框架. 客户端发送请求,服务器控制器(由DispatcherServlet实现的…
Spring AOP 1. 代理模式 1.1. 静态代理 程序中经常需要为某些动作或事件作下记录,以便在事后检测或作为排错的依据,先看一个简单的例子: import java.util.logging.*; public class HelloSpeaker { private Logger logger = Logger.getLogger(this.getClass().getName()); public void hello(String name) { logger.log(Level…
在讲述服务注册与引用的随笔中,有提到context.getServiceReferences()方法,通过该方法可以获取到OSGI框架容器中的指定类型的服务引用,从而获取到对应的服务对象.同时该方法还可以通过Bundle-SymbolicName名称获取到该Bundle中的Spring上下文对象,同样根据Spring上下文对象,我们也可以很好的获取到对应服务对象(服务对象,就是Spring中的一个Bean对象) String callName = "com.sample.service.IHel…
Spring容器是生成Bean的工厂,我们在做项目的时候,会用到监听器去获取spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个监听器,在项目启动时将首页的数据查询出来放到application里,即在监听器里调用后台商品业务逻辑的方法,也就是说我们需要在监听器里获取Spring中配置的相应的bean.先把监听器创建出来: 1. 创建InitDataListener 创建一个监听器InitDataListener继承Serv…
官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign 文中例子我做了一些测试在:http://git.oschina.net/dreamingodd/spring-cloud-preparation II.Spring Cloud Config Dalston.SR2 Spring Cloud Config为分布式系统的外部配置提供客户端的服务端的支持.使用了它,开发人员就可以在一个中…
Spring Boot 简化了 Spring 应用开发,不需要配置就能运行 Spring 应用,Spring Boot 的自动配置是通过 Spring 4.x 的条件注解 @Conditional 来实现的,@Conditional 根据特定条件来控制 bean 的创建行为.Spring Boot 默认会使用内置的 Tomcat,并支持 Spring MVC.RESTful 服务.新建 Spring Boot 项目很简单,IntelliJ IDEA 在 New Project 中选择 Sprin…
一.本文介绍 如果Web项目是完全前后端分离的话(我认为现在完全前后端分离已经是趋势了)一般前端和后端交互都是通过接口的,对接口入参和出参描述的文档就是Mock文档.随着接口数量的增多和参数的个数增加接口文档会变的越来越难维护,最后甚至会出现文档和实际出现不统一,Swagger出现解决了这个问题,通过一些简单的配置和注解的使用Swagger会自动为我们生成接口文档,本文会以上篇文章为基础整合Swagger到Spring Boot项目中. 二.Spring Boot整合Swagger 首先要做的还…
spring Boot(十九):使用Spring Boot Actuator监控应用 微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? 在这种框架下,微服务的监控显得尤为重要.本文主要结合Spring Boot Actuator,跟大家一起分享微服务Spring Boot Actuator的常见用法,方便我们在日常中对我们的微服务进行监控治理. 一…
7.4 使用 Spring 容器 Spring 有两个核心接口:BeanFactory 和 ApplicationContext,其中ApplicationContext 是 BeanFactory 的子接口.它们都可代表 Spring 容器,Spring 容器是生成 Bean 实例的工厂,并管理容器中的Bean. Java 程序面向接口编程,无须关心 Bean 实例的实现类:但 Spring 容器负责创建 Bean 实例,因此必须精确知道每个 Bean 实例的实现类,故Spring 配置文件必…
1. Spring架构图 核心容器:包括Core.Beans.Context.EL模块. ●Core模块:封装了框架依赖的最底层部分,包括资源访问.类型转换及一些常用工具类. ●Beans模块:提供了框架的基础部分,包括反转控制和依赖注入.其中Bean Factory是容器核心,本质是“工厂设计模式”的实现,而且无需编程实现“单例设计模式”,单例完全由容器控制,而且提倡面向接口编程,而非面向实现编程:所有应用程序对象及对象间关系由框架管理,从而真正把你从程序逻辑中把维护对象之间的依赖关系提取出来…
1. Spring是什么? Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发. 在面向对象思想中,应用程序是由一组相互协作的对象组成.开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低耦合.高内聚.业务逻辑开发是不可避免的,那如果有个框架出来帮我们来管理对象及管理这些对象之间的依赖关系.这样我们是不是减少了许多工作,加速了开发,能节省出很多时间来干其他事…
一.Spring与JDBC模板 1.搭建环境 首先导入需要的jar包: 以上jar中多导入了DBCP和C3P0的jar包,因为这里需要演示怎么配置多种数据源,所以导入了这两个包,在实际开发中无需导入这两个包. 2.数据源的配置 数据源的配置分为3中情况: 1.Spring内置的连接池DriverManagerDataSource: 2.DBCP数据源 BasicDataSource: 3.C3P0数据源 ComboPooledDataSource: 具体在XML中的配置如下: <?xml ver…
内容源自:spring mvc入门 一.spring mvc和spring的关系 spring mvc是spring框架提供的七层体系架构中的一个层,是spring框架的一部分,是spring用于处理客户端请求的MVC工具,取代表现层框架struts1/2.在使用时,spring mvc和spring框架的使用方式是相互独立的.spring mvc是脱离了spring框架的单独的表现层框架. 二.如何在web工程中添加spring mvc? web工程添加spring框架的方式和添加spring…