努力奔跑中的coder

源代码的github地址:https://github.com/louyuting

Spring 计划任务 Schedule

背景我们经常会碰到一些需要执行定时任务的场景,在SpringBoot中实现非常的简单,我们首先通过在配置类注解@EnableScheduling来开启计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled来声明这是一个计划任务。实例计划任务执行类@Service public cla...

2017-10-02 17:00:01

阅读数:342

评论数:0

Spring 多线程与异步编程

背景Spring是通过任务执行器(TaskExecutor)来实现多线程和并发编程的,Spring使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor,在实际开发中,现在的多线程都是异步非阻塞的,所以我们在配置类中需要加上@EnableAsync注解,开启...

2017-10-02 16:12:35

阅读数:1279

评论数:0

Spring的Aware

背景Spring 容器的IOC最大优势就是我们的应用程序对容器是无感的,保持绝对的耦合,唯一的关联点就是注解。 但是我们在开发应用程序的时候又不可避免的需要用到Spring容器的所提供的资源,这时候Application就必须能够意识到Spring容器提供的各个机制的存在,这就是Spring Aw...

2017-10-02 10:39:15

阅读数:218

评论数:0

Spring4-@Enable** 注解的实现原理

背景在前面的工作中使用SpringBoot的时候,我碰到了很多的使用@Enable***注解的地方,使用上也都是加在@Configuration 类注解的类上面,比如: (1)@EnableAutoConfiguration 开启自动扫描装配Bean(2)@EnableScheduling 开...

2017-09-30 08:54:59

阅读数:876

评论数:0

Spring中事务的实现原理

背景:最近的项目中需要用到Spring的事务管理相关的知识,以前也了解过Spring的事务管理,但是仅仅止步于会用,这一次借着这次机会,深入源码分析一下Spring是如何实现事务的。 前面已经有一篇文章讲过了如何在Spring中使用声明式事务,并对一些特性进行了讲解,具体如下:Spring事务...

2017-09-27 23:35:04

阅读数:5480

评论数:0

Spring-cache的抽象

背景前面已经分析了SpringBoot的一套starter和autoconfigure 的机制,具体参考:http://blog.csdn.net/u010853261/article/details/77961716 这篇博客。其实对于SpringBoot的starter机制,其实就是依据Spr...

2017-09-21 17:41:11

阅读数:273

评论数:0

Spring的classpath和classpath*的区别

这一点很容易混淆,这里做一个记录: 使用classpath作为前缀: 比如当我使用 “classpath:mybean.xml” 表示在classpathz中装载资源mybean.xml. 使用classpath*:前缀: 比如使用”classpath*:mybatis/*mapper.xml” ...

2017-09-16 00:25:00

阅读数:284

评论数:0

Spring的bean的生命周期

接触Spring时间越久,越觉得其设计思想对我们开发的影响之深,最近在开发项目时,组里一个师兄的项目设计就和Spring的bean生命周期设计有很多不谋而合之处,接着对项目理解,回顾了一下Spring的bean的生命周期。本文基于ApplicationContext中的bean的生命周期为例。生命...

2017-09-15 19:38:36

阅读数:247

评论数:0

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 引发的血案

故事背景今天在跑项目(SpringBoot+mybatis)时,当通过service调用DAO时,系统抛出了异常: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 很奇怪的异常,异常...

2017-09-14 23:37:14

阅读数:667

评论数:0

Spring事务管理-使用基础

Spring提供的事物管理有两种: 编程式事物(使用TransactionTemplate,粒度控制在代码块,手动提交) 声明式事务(XML、注解, 粒度只能控制在public方法) 事务管理是基于数据源的,也就是说mybatis引用的数据源必须和DataSourceTransactionMan...

2017-09-13 11:50:32

阅读数:599

评论数:1

SpringBoot-创建自己的starter和autoconfiguration

这篇文章主要是告诉我们怎么创建自己的SpringBoot autoconfiguration Auto-configuration classes能被绑定在一个外部jar包并且能被Spring Boot加载。每一个Auto-configuration能够被关联到一个starter,创建步骤(1)实...

2017-09-13 09:12:06

阅读数:1109

评论数:0

Spring-bean的循环依赖以及解决方式

本文主要是分析Spring bean的循环依赖,以及Spring的解决方式。 通过这种解决方式,我们可以应用在我们实际开发项目中。 什么是循环依赖? 怎么检测循环依赖 Spring怎么解决循环依赖 Spring对于循环依赖无法解决的场景 Spring解决循环依赖的方...

2017-09-12 08:18:21

阅读数:17546

评论数:3

【SpringBoot】常用注解

@EnableAutoConfiguration启动自动装载:使用了这个注解之后,所有引入的jar的starters都会被自动注入。这个类的设计就是为starter工作的。@RestController这个注解专门用于写RESTful的接口的,里面集成了@Controller和@ResponseB...

2017-08-30 10:44:07

阅读数:3424

评论数:1

【Spring】普通bean、FactoryBean、BeanFactory的区别与联系

在Spring中这三点比较容易混淆:一. FactoryBean、BeanFactory的区别其实这两点没有什么联系,只是命名上比较相似,所以常常被拿出来比较。BeanFactoryBeanFactory是IOC最基本的容器,负责生产和管理bean,它为其他具体的IOC容器实现提供了最基本的规范,...

2017-05-27 17:38:07

阅读数:972

评论数:0

【技术分享】-Spring的IOC

Spring的IOC一. 什么是控制反转,为什么叫控制反转 控制反转:就是把原先我们代码里面需要自己手动实现的对象创建、依赖的代码,反转给容器来帮忙实现。 IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作。对象只需要关心业务逻辑本身就可以了。从这方面来说,对象如...

2017-05-05 18:15:57

阅读数:670

评论数:0

Spring的AOP使用实例

本文主要通过一些实例,一步步逐渐完善一个AOP的例子: 1.简单的AOP日志实现-某方法之前的前后记录日志; 2.简单的AOP日志实现-需要记录方法的运行时间; 3.简单的AOP日志实现-增加检查订单功能; 以上这些例子的AOP相关的配置均使用XML配置实现,bean的配置均使用...

2017-01-24 14:53:23

阅读数:7636

评论数:0

Spring基于Java注解的配置

前面已经讲了自动扫包配置和基于XML的配置,这一节讲基于Java的配置(1)entity 厨师类,增加了唯一idpackage spring.ch2.topic8;import org.springframework.beans.factory.annotation.Value;/** * C...

2017-01-23 20:33:39

阅读数:878

评论数:0

Spring自动检测并装配bean

自动化装配beanSpring从两个角度来实现自动化装配: 1. 组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean。 2. 自动装配(autowiring):spring自动满足bean之间的依赖。组件扫描和自动化装配组合在一起就能发挥出...

2017-01-23 16:43:40

阅读数:391

评论数:0

Spring注解中使用表达式@Value

blog主要包括两点内容: 1.注入普通值。 1.使用@Value注解注入普通值(1)entity 厨师类:package spring.ch2.topic6;import org.springframework.beans.factory.annotation.Value;/** * ...

2017-01-23 15:18:06

阅读数:1420

评论数:0

Spring-基于java的标准注解装配-@Inject和@Named与@autowired和@ Qualifier区别

本节主要包括以下内容: 1. @Inject注解通过属性域注入 2. @Inject注解通过set方法或则其他方法注入 3. @Inject注解通过构造器方法注入 4. @Named注解 我研究了一下,发现了@Inject注解和@autowired注解几乎是一样的,只...

2017-01-23 14:44:52

阅读数:2769

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭