
Spring
文章平均质量分 80
frankliu01
这个作者很懒,什么都没留下…
展开
-
@Repository、@Service、@Controller 和 @Component
@Repository、@Service、@Controller 和 @Component 将类标识为Beanspring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring转载 2016-04-19 15:48:18 · 317 阅读 · 0 评论 -
Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer
spring中 context:property-placeholder 导入多个独立的 .properties配置文件?Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的 Bean就会停止对剩余PropertyPlacehold原创 2017-02-27 12:51:27 · 535 阅读 · 0 评论 -
Spring 报错java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport
Spring +mybatis项目报错如下java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_102] at java.lang.ClassLoader.define原创 2017-03-06 18:04:09 · 11958 阅读 · 2 评论 -
Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
### Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot load JDBC driver class原创 2017-03-07 11:06:39 · 3590 阅读 · 0 评论 -
【Spring】事件传播 ApplicationListener
转自http://blog.youkuaiyun.com/u011704894/article/details/44407145spring 的事件传播机制 是基于观察者模式(Observer)实现的,它可以将 Spring Bean 的改变定义为事件 ApplicationEvent,通过 ApplicationListener 监听 ApplicationEvent 事件,一旦转载 2017-03-30 13:18:02 · 341 阅读 · 0 评论 -
通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
软件开发的一般流程为工程师开发 -> 测试 -> 上线,因此就涉及到三个不同的环境,开发环境、测试环境以及生产环境,通常这三个环境会有很多配置参数不同,例如数据源、文件路径、url等,如果每次上线一个新版本时都手动修改配置会十分繁琐,容易出错。spring 为我们提供了 profile 机制来解决这个问题。spring允许我们通过定义 profile 来将若干不同的 bean 定义组织转载 2017-05-24 15:24:28 · 465 阅读 · 0 评论 -
ApplicationListener与ApplicationContext的结合使用
package com.frank.demo@Componentpublic class RegisterService { protected ApplicationContext getContext() { return SpringSingletonUtil.getInstance().getApplicationContext(); } publi原创 2017-06-14 18:24:16 · 876 阅读 · 0 评论 -
@Configuration和@Bean的用法和理解
1、第一种自己写的类,Controller,Service。 用@controller @service即可2、第二种,集成其它框架,比如集成shiro权限框架,集成mybatis分页插件PageHelper,第三方框架的核心类都要交于Spring大管家管理@Configuration可理解为用spring的时候xml里面的标签@Bean可理解为用spring的时候xml里转载 2017-09-02 23:28:21 · 826 阅读 · 0 评论 -
Spring AOP源码学习 最核心代码
最核心的是JdkDynamicAopProxyfinal class JdkDynamicAopProxy implements AopProxy, InvocationHandler, SerializableAopProxypackage org.springframework.aop.framework;public interface AopProxy { Obje原创 2017-10-22 18:01:16 · 600 阅读 · 0 评论 -
自己动手实现最简单版本的Spring AOP
Spring aop的实现原理简介 前段时间写的java设计模式--代理模式,最近在看Spring Aop的时候,觉得于代理模式应该有密切的联系,于是决定了解下Spring Aop的实现原理。 说起AOP就不得不说下OOP了,OOP中引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。但是,如果我们需要为部分对象引入公共部分的时候,O转载 2017-10-22 18:32:59 · 1092 阅读 · 0 评论 -
自己简单实现Spring的IOC原理
控制反转(Inversion ofControl,缩写为IoC)简单来说就是当自己需要一个对象的时候不需要自己手动去new一个,而是由其他容器来帮你提供;Spring里面就是IOC容器。例如:在Spring里面经常需要在Service这个装配一个Dao,一般是使用@Autowired注解:类似如下 public Class ServiceImpl{ @Autowired转载 2017-10-16 23:04:22 · 374 阅读 · 0 评论 -
自己用Java实现一个依赖注入框架 (学习Spring源码并写一个简单的Spring框架)- containerx(含github源码)
摘要: 自己用Java实现一个依赖注入框架自己写一个Spring框架?博主,你在开玩笑吗?NO! 通过研究了Spring源码的核心思想,自己用写一个小框架,加载类似的beans.xml配置,并且把bean都以单例方式注册到容器中,并且用InvocationHandler来实现AOP这个,就是核心思想,而且具备可行性。只不过没有Spring源码那样处理其它的细枝末节。容器的本质是什么?--C...原创 2017-10-22 09:48:56 · 1316 阅读 · 2 评论 -
Spring读取properties文件出现乱码的解决方法
在Spring的applicationContext.xml文件中设置和读取properties资源文件时,如果properties文件是UTF-8编码的,并且需要读取的内容包含中文,那么采取默认的property-placeholder标签配置,则读取属性时便会出现乱码!通过度娘找到很多相似的问题,但几乎都只有一个解决办法,就是使用jdk自带的native2ascii.exe工具,将prop原创 2016-12-30 09:38:14 · 3587 阅读 · 0 评论 -
Spring--BeanFactoryPostProcessor学习笔记
第一篇学习笔记,深感智商不足,看spring看不明白,所以把比较疑惑的地方写下来还是从refresh方法进去,在obtainFreshBeanFactory方法中,就已经loadBeanDefinitons()了,容器做了一些准备工作后,调用了invokeBeanFactoryPostProcessors(beanFactory)方法。这里把beanFactoryPostprocessor都调转载 2016-11-23 09:32:57 · 2942 阅读 · 2 评论 -
Spring will invoke specific constructor no matter this constructor is public or private
I have confirm this conclusion via debug my own code.Spring will invoke specific constructor no matter this constructor is public or privateThis is my demo.package com.frank.zk;/** * * @a原创 2016-12-04 21:47:02 · 327 阅读 · 0 评论 -
spring bean的scope属性
spring中bean的scope属性,有如下5种类型:singleton 表示在spring容器中的单例,通过spring容器获得该bean时总是返回唯一的实例prototype表示每次获得bean都会生成一个新的对象request表示在一次http请求内有效(只适用于web应用)session表示在一个用户会话内有效(只适用于web应用)globalSession表示在全局会话内有效(转载 2016-04-19 16:29:44 · 382 阅读 · 0 评论 -
spring中scope作用域(转)
今天研究了一下scope的作用域。默认是单例模式,即scope="singleton"。另外scope还有prototype、request、session、global session作用域。scope="prototype"多例。再配置bean的作用域时,它的头文件形式如下:如何使用spring的作用域:bean id="role" class="spring.chapte转载 2016-04-19 16:32:18 · 563 阅读 · 0 评论 -
使用 Java 配置进行 Spring bean 管理
使用 Java 配置进行 Spring bean 管理学习使用 Java 配置管理 Spring beanSpring bean 是使用传统的 XML 方法配置的。在这篇文章中,您将学习使用基于纯 Java 的配置而非 XML 来编写 Spring bean 并配置它们。本文将介绍可用来配置 bean 的多种注释。此外还将演示基于 Java 的配置,将它与基于传统转载 2016-04-20 09:19:43 · 710 阅读 · 0 评论 -
Spring中@Autowired注解、@Resource注解的区别
spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。 @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是nam转载 2016-04-19 12:54:21 · 458 阅读 · 1 评论 -
The hierarchy of the type XXAdvice is inconsistent
The hierarchy of the type LogAdvice is inconsistentimport org.aopalliance.aop.Advice;public interface BeforeAdvice extends AdviceMethodBeforeAdvice extends BeforeAdvice原创 2016-04-20 11:12:08 · 620 阅读 · 0 评论 -
Spring @Transactional
转自http://robinsoncrusoe.iteye.com/blog/825531Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchec转载 2016-08-11 10:09:46 · 280 阅读 · 0 评论 -
Spring @Qualifier
Spring @Qualifier 注释可能会有这样一种情况,当你创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱。下面显示的是使用 @Qualifier 注释的一个示例。示例让我们使 Eclipse转载 2016-10-09 09:21:12 · 513 阅读 · 0 评论 -
org.springframework.beans.factory.NoSuchBeanDefinitionException的解决
遇到如下异常2016-11-09 14:21:43,602 [DubboServerHandler-10.8.64.57:20091-thread-20] ERROR com.alibaba.dubbo.rpc.filter.ExceptionFilter (ExceptionFilter.java:87) - [DUBBO] Got unchecked and undeclared excep原创 2016-11-09 15:45:48 · 2600 阅读 · 0 评论 -
<context:component-scan>的name-generator属性 自定义Spring Bean注解命名规则
由于项目的需要spring的业务相关的bean不是写在xml文件中,因为项目是一个模块一个模块提交的,提交的时候不想修改xml文件,因此就用到了spring的注解Service。 例如: Java代码 @Service("TestService") public class TestService { }转载 2016-10-08 15:02:02 · 6165 阅读 · 0 评论 -
Spring的InitializingBean接口
最近工作需要得到sping中的每个事物需要执行的sql,称机会简单研究了一下spring的事务,项目中管理事务比较简单,用TransactionTemplate,就直接以TransactionTemplate为入口开始学习。TransactionTemplate的源码如下:public class TransactionTemplate extends DefaultTransaction转载 2016-11-12 23:43:44 · 267 阅读 · 0 评论 -
Spring--FactoryBean
Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean。工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该工厂Bean的getObject方法所返回的对象。使用场景:1、通过外部对类是否是单例进行控制,该类自己无法感知 2、对类的创建之前进行初始化的操作,在afterPropertiesSet()中完成。实转载 2016-11-13 23:01:27 · 261 阅读 · 0 评论 -
spring-websocket --WebSocketStompClient端实现自动重连
转自https://blog.youkuaiyun.com/u013174217/article/details/53376793websocketstompclient端实现和服务端建立连接和通信之后,如果服务端断开或重启,client端需要实现自动定时重连机制。查阅了官网和一些资料没有找到相关的源码,自己写了个:在client端重写StompSessionHandlerAdapter的类中重写handle...转载 2018-03-30 16:53:08 · 8524 阅读 · 0 评论