Spring
文章平均质量分 67
Ydoing
这个作者很懒,什么都没留下…
展开
-
Spring4+SpringMVC+Hibernate4整合入门与实例
配置web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/原创 2015-08-11 12:56:57 · 3248 阅读 · 3 评论 -
Spring事务源码分析
事务属性定义接口TransactionDefinition是事务属性定义接口,保存事务定义的各种属性,如超时时间、隔离级别、传播属性等。public interface TransactionDefinition { //获取事务传播类型 int getPropagationBehavior(); //获取事务隔离级别 int getIsolationLevel();原创 2016-09-13 21:58:28 · 1250 阅读 · 1 评论 -
MapperScannerConfigurer在mybatis-spring的妙用
概述在mybatis中我们经常这样定义OrderInfoMapper这样的接口,然后配置OrderInfoMapper.xml映射到OrderInfoMapper,就可以直接注入OrderInfoMapperpublic interface OrderInfoMapper { int insert(Order order);}定义一个SQL操作<insert id="insert" param原创 2016-09-14 17:40:41 · 12330 阅读 · 0 评论 -
Spring中Bean的生成过程
Spring是个Bean大工厂,负责Bean的创建和注入。核心接口BeanFactory是Spring最核心接口,它是Bean的容器,所有Bean的创建和注入几乎都与它有关。很多后缀是“Context”的类都继承或扩展了它,比如ClassPathXmlApplicationContext。最核心的方法是getBean,当然getBean有很多种重载形式,这里不一一列出。public interfac原创 2016-11-02 15:31:00 · 8865 阅读 · 3 评论 -
初识Spring Batch
概念Spring Batch是一个优秀的离线批处理框架。可以批量处理的数据格式可以是文本文件、xml文件以及持久化的数据。当然Spring Batch还提供了丰富的接口可以扩展,处理不同格式的数据。处理规模为中小型(对于海量的数据可以考虑Hadoop)。使用场景可以考虑账单对账,数据迁移,定时批量更新数据等等。 层次架构如上图。分三层:应用层,核心层,基础设施层。应用层包括所有的batch作业和原创 2016-12-02 11:52:19 · 803 阅读 · 0 评论 -
Spring AOP自定义实现
上一遍文章研究了Spring AOP实现源码,现在自己也想自己实现。假如要对以下接口BarService织入Before增强和After增强接口定义public interface BarService { void doSomething();}接口实现@Servicepublic class BarServiceImp implements BarService { @Ove原创 2017-01-02 10:44:07 · 2345 阅读 · 0 评论 -
Spring AOP源码研究笔记
实现思路通过BeanPostProcessor的postProcessAfterInitialization方法,对初始化后的Bean创建代理。InstantiationModelAwarePointcutAdvisorImpl是Advisor的默认封装。MethodBeforeAdviceInterceptor是Before的默认实现。关键源码解析AbstractAutoProxyCreator类原创 2016-12-31 16:28:44 · 1131 阅读 · 0 评论 -
SpringMVC测试
Spring提供了测试MVC的框架。服务端测试(Server-Side Tests)主要分为几个步骤:需要注解@WebAppConfiguration注入WebApplicationContextMockMvc初始化执行Request请求定义期望值@RunWith(SpringJUnit4ClassRunner.class)@WebAppConfiguration("src/main/原创 2016-03-29 10:50:14 · 1706 阅读 · 0 评论 -
Spring通过@Value注解注入属性的几种方式
场景假如有以下属性文件dev.properties, 需要注入下面的tagtag=123通过PropertyPlaceholderConfigurer<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="dev原创 2016-03-21 12:45:50 · 38921 阅读 · 2 评论 -
Spring自定义属性编辑器
概念我们在xml定义bean时,输入的内容都是字符串。spring会根据已经注册好的属性编辑器解析这些字符串,实例化成对应的类型。下面演示一个实例,Customer有一个属性Address,在配置这个Bean时,直接配置成“浙江-杭州-西湖”,根据自定的属性编辑器生成Address对象,并打印出“浙江省杭州市西湖区”。源码Bean定义package exa.ydoing.spring;class原创 2015-12-17 22:16:50 · 2232 阅读 · 0 评论 -
Spring入门实例
Spring最核心的概念就是“依赖注入”。所谓依赖注入就是你需要什么对象,Spring容器就帮你实例化这个对象,然后注入到你的应用程序中。这样你就不用自己实例化依赖对象,不但简化了开发,还解耦了各模块的依赖。下面我来展示一个实例,比如Person对象要使用Computer,必须依赖Computer这个对象。使用Spring,使你不用自己new对象,Spring容器会帮你在需要的时候注入Compute原创 2015-07-19 09:41:59 · 891 阅读 · 0 评论 -
Spring的几种注入方式
通过set方式注入bean的定义:package com.ydoing.demo;public class Person { private Computer computer; public void setComputer(Computer computer) { this.computer = computer; } public void u原创 2015-07-19 11:30:00 · 9055 阅读 · 5 评论 -
Spring自动装配
Spring有四种自动装配byType设置autowire=”byType”,Spring容器会自动查找bean的set方法,然后将bean配置中的CPU类型的bean装配到computer中。如果查找多个相同类型的bean,spring会报异常。package com.ydoing.demo;public class Computer { private CPU cpu; pub原创 2015-07-19 15:22:53 · 1131 阅读 · 0 评论 -
SpringMVC启动一直卡的解决
当加载Spring MVC如下情况卡住时,有可能是JDK版本问题。...At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLD原创 2015-08-13 15:27:26 · 7876 阅读 · 0 评论 -
SpringMVC+Spring Data JPA+Shiro+EasyUI简单权限管理系统
概述一直想做一个管理系统,希望它简洁,能做一个demo使用。以后在研究学习的时候,可以在此基础上增加代码。我觉得权限管理系统很值得做,因为涉及关系数据库模式的设计,能学到很多东西。万事开头难,先做个简单的,以后再慢慢完善的。任何事情关键是要做,不能停留在想。前端由于之前没有多少前端编程经验,所以做起前端比较吃力。之前前端使用Bootstrap,发现需要自己编写很多前端代码,虽然花费了很多时间,但是页原创 2015-09-29 11:30:51 · 15468 阅读 · 31 评论 -
Spring Bean在BeanFactory生命周期
生命周期过程如果容器注册InstantiationAwareBeanPostProcessor接口,调用postProcessBeforeInstantiation方法Bean的实例化(调用默认构造器)如果容器注册InstantiationAwareBeanPostProcessor接口,调用postProcessAfterInstantiation方法如果容器注册Instantiation原创 2015-12-14 18:34:00 · 1466 阅读 · 0 评论 -
Spring容器事件
概念基本概念事件源:事件生产者事件监听器注册表:事件监听器的容器。事件广播器:负责把事件通知给事件监听器,它是事件和事件监听器的桥梁。Spring事件类结构事件类ApplicationEvent继承了Java标准库中的EventObject监听器类ApplicationListener继承了Java标准库中的EventListener。事件广播器接口ApplicationEventMu原创 2015-12-15 13:36:57 · 1204 阅读 · 0 评论 -
Spring中AOP实例详解
需要增强的服务假如有以下service,他的功能很简单,打印输入的参数并返回参数。@Servicepublic class SimpleService { public String getName(String name) { System.out.println("get name is: " + name); return name; }}原创 2015-11-27 16:26:04 · 1186 阅读 · 0 评论 -
Spring中@Transactional什么时候开启事务?
在使用注解事务的情况时,Spring会把每个方法的执行封装为AOP执行过程。每次执行被事务注解方法时,会判断是否有必要创建事务。如果创建事务成功,则继续调用业务逻辑方法。事务是在方法执行最开始阶段创建的,因此方法要越小越好。事务的执行入口是TransactionInterceptor的invoke方法 @Override public Object invoke(final Metho原创 2017-03-01 21:45:39 · 13316 阅读 · 0 评论