
Spring
千丈
越努力,越幸运。
展开
-
Sping源码翻译-IOC容器一
3.IOC容器3.1介绍Spring IOC容器和beans 这个章节涵盖了Spring Framework实现的控制翻转的原理。控制翻转也被称为依赖注入。这是对象定义他们的依赖关系的过程,也就是说,他们使用的其他的对象,仅通过构造函数参数,过程方法参数,或从构造器或从工厂方法返回后的对象实例上设置的属性,当创建bean的时候向容器注入这些依赖。这个过程从根本上翻转了...翻译 2020-03-05 21:49:15 · 247 阅读 · 0 评论 -
Spring建立虚拟DB环境进行单测
在进行DAO本地测试或者单元测试时,db环境有时很难弄,而且即使调通了db环境,有时也不想往db里面灌些无用数据,所以,为了不对真实db环境造成侵入,spring提供了一套虚拟db环境,利用它可以方便地进行单元测试。在spring环境中配置:type支持HSQL、H2、Derby三种。默认为HSQLschema.sql文件为建库建表语句,data.sql为表原创 2016-04-08 15:35:15 · 1292 阅读 · 0 评论 -
Springboot 热部署的两种方式
在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个文件里记录着和代码等对应的各种信息,然后 Class 文件将被虚拟机的 ClassLoader 加载。而热部署正是利用了这个特点,它监听到如果有 Class 文件改动了,就会创建一个新的 ClaassLoader 进行加载该文件,经过一系列原创 2017-06-11 16:09:44 · 2093 阅读 · 0 评论 -
spring boot起步之返回json数据
在做如下操作之前,我们对之前的Hello进行简单的修改,我们新建一个包com.dinglit 然后新建一个类HelloControoler, 然后修改App.java类,主要是的这个类就是一个单纯的启动类。package com.dinglit;import org.springframework.boot.SpringApplication;import org.springframe原创 2017-06-11 09:29:53 · 654 阅读 · 0 评论 -
什么是spring,谈谈你对spring的理解5
1.首先Spring是一个开源的框架,Spring为简化企业级应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能。Spring是一个IOC和AOP容器框架。在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架。Spring主要核心是:(1).控制反转(IOC):以前传统的java开发模式中,当需要一个原创 2015-12-19 17:52:00 · 37223 阅读 · 0 评论 -
spring boot起步之Hello World【从零开始学Spring Boot】
以前spring开发需要配置一大堆的xml,后台spring加入了annotaion,使得xml配置简化了很多,当然还是有些配置需要使用xml,比如申明component scan等。 Spring开了一个新的model spring boot,主要思想是降低spring的入门,使得新手可以以最快的速度让程序在spring框架下跑起来。 那么如何写Hello w原创 2017-06-07 23:10:36 · 778 阅读 · 0 评论 -
springboot异常之Whitelabel Error Page解决办法
Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Sun Jun 11 09:07:08 CST 2017There was an unexpected error (type=Not Found, status=40原创 2017-06-11 09:12:59 · 22900 阅读 · 5 评论 -
springboot全局异常捕捉
在一个项目中的异常我们我们都会统一进行处理的,那么如何进行统一进行处理呢?新建一个类CommonExceptionAdvice,在class注解上@ControllerAdvice,在方法上注解上@ExceptionHandler(value = Exception.class),具体代码如下:package com.dinglit.exception;import java.原创 2017-06-11 17:43:57 · 3413 阅读 · 0 评论 -
CGLIB动态代理与JDK动态区别
java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。在Spring中。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果...原创 2019-01-11 17:03:45 · 240 阅读 · 0 评论 -
Spring事务原理
一.事物的传播属性1. required 如果存在一个事务,则支持事务,如果没有事务则开启一个新事务;被设置这个级别时,会为每一个被调用的方法创建一个逻辑事务域。如果前面的方法已经创建了事务,那么后面的方法支持当前的事务,如果当前没有事务会重新建立事务。2. required_new 新建事务,如果当前存在事务,就把当前事务挂起3. supports 支持当前事务,如果当前没有事务,就...原创 2019-01-11 17:23:44 · 214 阅读 · 0 评论 -
service的方法内事务控制不起作用
可能我们有这样的需求,Serveice 类中的methodA方法个methodB方法都加了事务的注解,methodA() 方法调用本类中的 methodB() 方法,methodB()方法中的事务机制不起作用。public interface DemoService {public void methodA();public void methodB();}@Servi...原创 2019-02-28 22:58:43 · 776 阅读 · 0 评论 -
Spring源代码解析(一):IOC容器
在认真学习Rod.Johnson的三部曲之一:>,顺便也看了看源代码想知道个究竟,抛砖引玉,有兴趣的同志一起讨论研究吧! 以下内容引自博客:http://jiwenke-spring.blogspot.com/,欢迎指导:) 在Spring中,IOC容器的重要地位我们就不多说了,对于Spring的使用者而言,IOC容器实际上是什么呢?我们可以说BeanFactory就是我们看到的IoC容器转载 2016-04-07 09:55:15 · 617 阅读 · 0 评论 -
Spring源代码解析(二):IoC容器在Web容器中的启动
以下引用自博客:http://jiwenke-spring.blogspot.com/ 上面我们分析了IOC容器本身的实现,下面我们看看在典型的web环境中,Spring IOC容器是怎样被载入和起作用的。 简单的说,在web容器中,通过ServletContext为Spring的IOC容器提供宿主环境,对应的建立起一个IOC容器的体系。其中,首先需要建立的是根上下文,这个上下文持有的对象转载 2016-04-07 09:57:33 · 368 阅读 · 0 评论 -
腾讯微博授权登陆超简单示例(源自官方Demo)
本人初学乍练 有什么不合适的地方欢迎大家踊跃吐槽 首先参考官方API文档 了解腾讯微博Oauth2.0形式的授权过程 这次主要将的是(code模式)方式的鉴权 http://wiki.open.t.qq.com/index.php/API%E6%96%87%E6%A1%A3 了解大致过程后 下载官方SDK 我使用的是Java SDK http://wiki.open原创 2016-01-18 17:05:34 · 887 阅读 · 0 评论 -
Spring 框架
Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 1 所示。图 1. Spring 框架的 7 个模块组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供 Spring 框原创 2016-02-15 10:29:04 · 642 阅读 · 0 评论 -
Spring AOP 实现原理
什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定原创 2016-04-06 10:29:01 · 570 阅读 · 0 评论 -
基于Spring的QQ第三方登录实现
之前我们完成了基于Spring的Github第三方登录--通用化的第三方登陆实现以及基于Spring的新浪微博第三方登录实现,接下来我们来学习一下如何实现QQ第三方登录。完善个人信息在实现QQ第三方登录功能之前,需要前往QQ互联完善个人信息,并添加你的第三方应用的相关信息。访问QQ互联,点击【管理中心】,进入应用开发者完善界面:创建第三方应用按要求注转载 2016-02-29 12:34:53 · 3070 阅读 · 1 评论 -
基于Spring的新浪微博第三方登录实现
在《Github第三方登录--通用化的第三方登陆实现》中我们实现了一个通用化的第三方登录框架,其中包括OAUth的基本流程以及最简单的用户注册。但是不同的第三方登录因为其细节不同还是有很多坑的,今天我们就从完善开发者信息开始一步一步添加微博第三方登录的功能。注意,需要完成微博的第三方登录功能需要有一个域名以及修改该域名网站的权限,之后审核时需要对首页进行修改。这里我们假设我们的域名是tia转载 2016-02-29 12:28:38 · 1947 阅读 · 1 评论 -
基于Spring的微信第三方登录实现
在前几篇文章中,我们介绍了OAuth2.0认证和授权机制讲解,并实现了基于Spring的Github第三方登录--通用化的第三方登陆实现,之后,我们基于该通用化的框架,介绍了国内的两个比较流行的第三方登录平台:基于Spring的新浪微博第三方登录实现和基于Spring的QQ第三方登录实现。以上几个第三方登录平台都严格遵守了OAuth2.0协议。但是,近来作者发现微信的第三方登录确不是那么严格的遵守原创 2016-02-29 12:26:11 · 3067 阅读 · 0 评论 -
基于Spring的Github第三方登录--通用化的第三方登陆实现
在《OAuth2.0认证和授权机制讲解》中我们知道了现在主流的第三方登陆是怎样一个流程,那么现在,就让我们自己来实现一个通用化的第三方登陆实现吧。准备工作在做第三方登陆之前,首先我们当然需要有一个授权服务器承认的第三方应用身份,因此,我们首先前往授权服务器进行申请,由于国内的所有应用都需要进行审核,比较麻烦,这里我们以Github为例,首先申请一个第三方应用的资格。原创 2016-02-29 12:17:38 · 2969 阅读 · 2 评论 -
Spring源代码解析(五):Spring AOP获取Proxy
下面我们来看看Spring的AOP的一些相关代码是怎么得到Proxy的,让我们我们先看看AOP和Spring AOP的一些基本概念: Advice: 通知,制定在连接点做什么,在Sping中,他主要描述Spring围绕方法调用注入的额外的行为,Spring提供的通知类型有: before advice,AfterReturningAdvice,ThrowAdvice,M转载 2016-04-07 10:01:47 · 1697 阅读 · 0 评论 -
Spring源代码解析(四):Spring MVC
下面我们对Spring MVC框架代码进行分析,对于webApplicationContext的相关分析可以参见以前的文档,我们这里着重分析Spring Web MVC框架的实现.我们从分析DispatcherServlet入手: Java代码 //这里是对DispatcherServlet的初始化方法,根据名字我们很方面的看到对各个Spring MVC主要元素的初始转载 2016-04-07 10:00:20 · 313 阅读 · 0 评论 -
Spring源代码解析(三):Spring JDBC
引用自博客:http://jiwenke-spring.blogspot.com/ 下面我们看看Spring JDBC相关的实现, 在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在Spring中,有许多类似 JdbcTemplate的模板,比如HibernateT转载 2016-04-07 09:59:07 · 387 阅读 · 0 评论 -
spring框架学习之一
1,什么是spring框架spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。 2,架构概述 1)IoC(Inversion of Control)控制反转,对象创建责任的反转,在sprin转载 2015-06-26 17:58:09 · 541 阅读 · 0 评论