component-scan自动扫描注册装配 本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7717331.html 解决问题 通过component-scan自动扫描将业务逻辑bean注册到spring容器中,去除XML配置文件bean手动注册过程,降低XML配置文件繁琐性: 内容说明 1.注册扫描bean并使用@Autowired注解自动装配时,需在XML配置文件中引入 <context:component-…
本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7786715.html 解决问题 1.分离业务监控与业务处理.简单点说,让开发人员更专注业务逻辑开发,类似于打印日志.统计时间.监控等等独立成一个单独的类,在需要的时候,动态的将代码切入到类的指定方法上,使方法拥有更强大的功能: 2.解决代码重复性,降低代码复杂程度: 内容说明 1.通过@Component注解,扫描(Magician)bean并注册到spring容…
一.Spring的Bean管理(注解方式) 1.1 什么是注解 要使用注解方式实现Spring的Bean管理,首先要明白什么是注解.通俗地讲,注解就是代码里的特殊标记,使用注解可以完成相应功能. 注解的写法:@注解名称(属性名称=属性值). 注解的用法:可以使用在类上.方法上和属性上. 1.2 注解开发准备工作 ●  导入jar包,其中包括基本jar包和aop相关的jar包,如下图: ●  引入相关约束(除了第一节学习中用到的beans约束,还要加入新的约束),如下: <?xml version…
上一篇文章,主要分析了怎么建立一个Restful web service,系列二主要创建一个H5静态页面使用ajax请求数据,功能主要有添加一本书,请求所有书并且按照Id降序排列,以及查看,删除一本书. 1.   示例结构以及用到的技术点 1.1 项目逻辑架构 1.2 项目的技术选型 Spring-Data-JPA H5 Bootstrap jQuery + ajax 2.  后端服务 2.1  pom.xml依赖的jar包和系列一中结构完全一样,省略不表. 2.2  book表结构,book类…
简介 spring-bean 组件是 Spring IoC 的核心,我们可以使用它的 beanFactory 来获取所需的对象,对象的实例化.属性装配和初始化等都可以交给 spring 来管理. 本文将从DefaultListableBeanFactory.getBean(Class)方法开始分析获取 bean 的过程,主要内容如下,由于篇幅较长,可以根据需要选择阅读: beanFactory 的设计 多个 beanName 的处理 获取单例 bean 创建单例 bean bean 的实例化 b…
spring框架为我们提供了三种注入方式,分别是set注入,构造方法注入,接口注入.接口注入不作要求,下面介绍前两种方式. 1,set注入 采用属性的set方法进行初始化,就成为set注入. 1)给普通字符类型赋值. public class User{ privateString username; publicString getUsername() { returnusername; } publicvoid setUsername(String username) { this.user…
服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Cloud Netflix 微服务套件的一部分,主要负责完成微服务架构中的服务治理功能. 本文通过简单的小例子来分享下如何通过Eureka进行服务治理: 搭建服务注册中心 注册服务提供者 服务发现和消费 ==========我是华丽的分割线======================== 一.搭建服务注册中心 先列出完整目录结构: 搭建过程如下…
前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到  保姆教程系列一.Linux搭建Nacos 注册中心原理 一.环境准备 Java版本:1.8+   (Linux centos7虚拟机下安装Jdk1.8) MySQL服务:5.6.5+   (Linux Centos7 安装MySQL5.7 图文详解) 二.创建项目 2.1 创建项目父工程 IDEA中创建聚合项目nacos作为父工程,其pom.xml如下 <?xml version="1.0" en…
在经典的 JDBC 用法中, SQL 参数是用占位符 ? 表示,并且受到位置的限制. 定位参数的问题在于, 一旦参数的顺序发生变化, 就必须改变参数绑定. 在 Spring JDBC 框架中, 绑定 SQL 参数的另一种选择是使用具名参数(named parameter). 那么什么是具名参数? 具名参数: SQL 按名称(以冒号开头)而不是按位置进行指定. 具名参数更易于维护, 也提升了可读性. 具名参数由框架类在运行时用占位符取代 具名参数只在 NamedParameterJdbcTempl…
切面编程(环绕通知与前后置通知区别) 本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7867034.html 解决问题 1.拥有前置通知和后置通知的功能,并能解决前置通知和后置通知在共享信息方面的不足(例如:统计切点方法执行时间): 2.在多线程并发条件下,能保证线程安全(因为在一个方法内定义的局部变量): 3.解决代码重复性,降低代码复杂程度: 内容说明 1.以下会给出前置通知.后置通知与环绕通知实例(观众观看…
本文讲解 Spring 注入映射器及事务功能的实现. 注入映射器实现 MyBatis 可以使用 SqlSession 的 getMapper ( Class<T> type ) 方法,根据指定的映射器和映射文件直接生成实现类.这样不必自行编写映射器的实现类,就可以调用映射器的方法进行功能实现. SqlSessionTemplate 也有对应的 getMapper()方法,利用 MyBatis-Spring 提供的组件,可以不必每次调用 getMapper()方法,而是通过配置的方式直接为业务对…
注解 1.使用注解配置spring 1)开启使用注解代理配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:context="h…
上一篇文章我们主要讲了一点关于AOP编程,它的动态考虑程序的运行过程,和Spring中AOP的应用,前置通知,后置通知,环绕通知和异常通知,这些都是Spring中AOP最简单的用法,也是最常用的东西,本节我们 要讲:对上节课的补充和AOP的高级使用,本文将以以下的顺序来进行分析: 无接口的CGLIB动态代理 有接口的CGLIB动态代理 方法名匹配切入点顾问 正则表达式方法切入点顾问 自动代理生成器 (一)无接口的CGLIB动态代理 上一节我们示范的通知(前置,后置...),都有实现接口,我们在动…
这里主要对springIOC接口体系进行简单的概述和分析,具体每个接口详细分析在下面目录: 参考内容: <Spring技术内幕:深入解析 Spring架构与设计原理> 和 <Spring源码深度解析(第2版)> 源码查看工具: idea,spring版本5.2.0 一 主要接口设计图 idea查看接口关系图,可在图中删除新增画出自定义的关系图,使用del和查看实现类快捷键(ctrl+alt+b)点击即可删除和增加类图 二 第一条线 通过BeacFactory->Hierarc…
一.Spring IOC参数值注入 1.注入基本值 1.1)<value></value>元素可以通过字符串指定属性或构造参数的值.容器将字符串从java.lang.String类型转换为实际的属性或者参数类型后给bean对象注入. <bean id="dataSource" class="com.spring.dao.JDBCDataSource"> <property name="username"…
本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7716678.html 解决问题 通过spring XML配置文件,实现类对象之间松耦合 前提条件 使用的bean必须在spring容器中已注册过 内容说明 1. 使用@Autowired注解自动装配时,需在XML配置文件中引入 <context:annotation-config/>: 2. 存在多个bean满足装配属性,需用@Qualifier指定唯一的bea…
本文是王福强所著<<spring揭秘>>一书的读书笔记 我们前面就说过,Spring的IoC容器时一个IoC Service Provider,而且IoC Service Provider提供两个功能对象的创建,依赖关系的管理. 不过,IoC容器这个词中,我们还得关注容器二字.它还包含了一些别的功能,如下图 Spring提供了两种类型的容器,分别是BeanFactory与ApplicationContext. 它们的区别在于: BeanFactory:对于它所管理的bean,采取的…
1.Eureka 简述 本文主要从应用角度体验一下注册中心的搭建和使用,后文会由浅入深学习Spring Cloud Eureka 的各种原理和机制. Spring Cloud Eureka 是 Spring Cloud Netflix 组件的一部分,而 Spring Cloud Netflix 又是基于 netflix 的 eureka 封装,所以最终的源码实现在于 eureka 中.废话不多说,先上手体验一下,后文在一步步深入了解. 2.Eureka Server 服务端搭建 1.创建项目,添…
Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的.强壮的 J2EE 应用程序.developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部分组成的 Spring 系列,其中还将介绍 Spring 面向方面的编程(AOP)和控制反转(IOC)容器. Spring 是一个开源框架,是为了解决企业…
Spring AOP 和 IOC 容器入门(转载) 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的.强壮的 J2EE 应用程序.developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部分组成的 Spring 系列,其中还将介绍 Spring 面向方面的编程(AOP)和控制反转(IOC)容器. http://www.ibm.com/developerworks/cn/java…
Spring 系列: Spring 框架简介 http://www.ibm.com/developerworks/cn/java/wa-spring1/ Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的.强壮的 J2EE 应用程序.developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部分组成的 Spring 系列,其中还将介绍 S…
Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的.强壮的 J2EE 应用程序.developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部分组成的 Spring 系列,其中还将介绍 Spring 面向方面的编程(AOP)和控制反转(IOC)容器. Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一…
一.Spring Bean的配置 在需要被Spring框架创建对象的实体类的类声明前面加注解:```@component```.这样在Spring扫描的时候,看到该注解就会在容器中创建该实体类的对象.那么,Spring如何可以扫描到该类呢?在配置文件夹下,右键-new-Spring Bean Configuration File,然后创建该文件,文件名可以任意,这里设为"applicationContext.xml". 在applicationContext.xml中,需要配置Spri…
在我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库.我们以往在spring和hibernate框架中总是配置一个数据源,因而sessionFactory的dataSource属性总是指向这个数据源并且恒定不变,所有DAO在使用sessionFactory的时候都是通过这个数据源访问数据库.但是现在,由于项目的需要,我们的DAO在访问sessionFactory的时候都不得不在多个数据源中不断切换,问题就出现了:如何让session…
在微服务中,我们将系统拆分为很多个服务单元,各单元之间通过服务注册和订阅消费的方式进行相互依赖.但是如果有一些服务出现问题了会怎么样? 比如说有三个服务(ABC),A调用B,B调用C.由于网络延迟或C本身代码有问题导致B迟迟得不到回应,这样B调用C的请求就会被挂起,等待. 在高并发的访问的情况下,这些挂起的线程得不到释放,使后续的请求阻塞,最终导致B也挂掉了.依次类推,A可能也会挂掉,进而使整个系统全部崩溃. 为了解决整个问题,Spring Cloud 使用Hystrix进行服务容错保护,包括断…
从我第一次接触Spring Cloud到现在已经有3个多月了,当时是在博客园里面注册了账号,并且看到很多文章都在谈论微服务,因此我就去了解了下,最终决定开始学习Spring Cloud.我在一款阅读App上买了一本 程序猿DD的<Spring Cloud 微服务实战>,开始了我的Spring Cloud学习之旅,为了加深记忆也决定在博客园里面写博客,把一些基础的东西和入门实例放在随笔里面,便于后续查看,好记性不如烂笔头嘛.但是你知道,写博客比较花经历和时间,不太可能把学到的内容和代码全部都放上…
Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring框架? Spring是J2EE应用程序框架,是轻量级的IOC和AOP的容器框架,主要针对JavaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以与Struts2,Hibernate和ibatis等框架组合使用. 2.架构概述, 1)IOC(Inversion of Control)控制反…
获取bean的过程如上图所看到的.下一章将继续图示解说createBean的过程. blog宗旨:用图说话 附:文件夹 Spring源代码由浅入深系列四 创建BeanFactory Spring源代码由浅入深系列三 refresh Spring源代码由浅入深系列二 类结构 Spring源代码由浅入深系列一 简单介绍…
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速把移动端自动化这块搞起来,试用几款目前流行的工具,腾讯的xtest定制版.神州数码的自动化测试平台.开源rf+appium框架. 经过一段试用最终还是选择了rf+appium主要原因有: 1.开源,网上社区活跃 2.扩展性强,针对不同项目不同的需求,封装不同的方法来实现 3.基于python语言,语…
Spring 的骨骼架构 Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图: 图 1 .Spring 框架的总体架构图 从上图中可以看出 Spring 框架中的核心组件只有三个:Core.Context 和 Beans.它们构建起了整个 Spring 的骨骼架构.没有它们就不可能有 AOP.Web 等上层的特性功能.下面也将主要从这三个组件入手分析 Spring. Spring 的设计理念 前面介绍了 Spring 的三个核心组件,如果再在它们三…