
spring4
君君要上天
每天学习一点点,每天提升一点点。
展开
-
spring学习笔记(9)——bean的生命周期
bean的生命周期写一段代码看看bean的生命周期package com.zj.cycle;public class Person { private String name; public Person(){ System.out.println("person is creating....."); } public void setName(Strin原创 2015-05-08 09:53:55 · 824 阅读 · 0 评论 -
spring学习笔记(6)——bean的作用域
bean的默认作用域bean的作用域并不是指bean的作用的范围,它是指bean的scope属性。bean的scope,它的默认值为singleton<!-- 如果不声明scope属性,则值默认为singleton,如下 --><bean id="car" class="com.zj.scope.Car" scope="singleton"></bean>这个属性有什么作用呢,我们来看代码Car原创 2015-05-05 11:37:09 · 850 阅读 · 0 评论 -
spring学习笔记(22)——事务的传播属性
什么是事务的传播属性举个栗子:在上一个笔记中我们用到了转账的栗子,使用到了事务,这时有了新的需求,要求能够批量转账。要实现这个功能很简单,写一个批量转账的方法batTransfer,for循环转账即可。 问题来了:批量转账这个方法肯定也是要用事务的,那么它是使用转账方法transfer()的事务呢还是batTransfer()自己重新开一个事务?这就是事务的传播属性 关于转账的栗子,请参考:sp原创 2015-05-13 20:07:24 · 713 阅读 · 0 评论 -
spring学习笔记(21)——声明式事务
什么要使用事务假设现在要实现一个转账的功能,A转账给B,当A扣了100块钱之后,突然发生了什么导致程序无法正常运行,这时候,B没有收到钱。。那么,这100块钱就不翼而飞了。。这时候就需要事务,A扣钱和B收到钱这两件事要么都成功,要么都不成功。准备工作现在我们来模拟一下,数据库中有两个账号 tom转账给jack 100块钱,但是tom只有99块,将抛出一个异常 /** * 用户支出原创 2015-05-13 19:03:35 · 738 阅读 · 0 评论 -
spring学习笔记(23)——事务的隔离级别&回滚&只读&过期
事务其他属性 //1.使用 propagation 指定事务的传播行为, 即当前的事务方法被另外一个事务方法调用时 //如何使用事务, 默认取值为 REQUIRED, 即使用调用方法的事务 //REQUIRES_NEW: 事务自己的事务, 调用的事务方法的事务被挂起. //2.使用 isolation 指定事务的隔离级别, 最常用的取值为 READ_COMMITTED原创 2015-05-13 23:24:56 · 803 阅读 · 0 评论 -
spring学习笔记(7)——引用外部文件
引用外部文件我们先来模拟一个场景,假设我们现在要整合hibernate或者mybatis等框架到spring中先写一个dataSource做模拟package com.zj.ref;import java.util.Properties;public class DataSource { private String user; private String password;原创 2015-05-07 10:59:54 · 1252 阅读 · 2 评论 -
spring学习笔记(8)——SpEL
什么是SpELspel就是spring的表达式语言,看下图(该图来自尚硅谷) SpEL很重要的一个功能就是能够实现 动态赋值最简单的用法 以上的用法其实没有什么意义,并不能体现出SpEL的强大SpEL使用先写三个实体类package com.zj.spel;public class Address { private String province; private Str原创 2015-05-07 11:35:40 · 1188 阅读 · 0 评论 -
spring学习笔记(12)——使用注解方式配置bean
常用的注解常用的有四个注解 Controller: 用于控制器的注解 Service : 用于service的注解 Component: 用于基本组件的注解 Repository:用于Dao层的注解 其实,对于spring来说,它根本无法识别controller,service等,它只知道只要你加了以上四个注解,它就帮你创建bean简单来说,就是如果你在控制器上使用Com原创 2015-05-08 11:44:37 · 2703 阅读 · 0 评论 -
spring学习笔记(10)——工厂方法配置bean
静态工厂方法配置bean写一个静态工厂方法package com.zj.beanFactory;import java.util.HashMap;import java.util.Map;public class StaticBeanFactory { private static Map<String, Person> map = new HashMap<String, Person>(原创 2015-05-08 10:26:30 · 856 阅读 · 0 评论 -
spring学习笔记(25)——spring基本思路
spring基本思路spring在web应用中的配置与使用的基本思路:需要加入额外的jar包 spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE.jar配置文件和在java应用中一样配置如何创建IOC容器在非WEB应用中,使用ApplicationContext接口直接创建在WEB应用中,应该在应用启动时就创建WEB应用中其他原创 2015-05-14 09:54:09 · 1130 阅读 · 0 评论 -
spring学习笔记(24)——xml方式配置事务
xml方式配置事务之前配置事务的方式是在方法上加注解,事务的属性也是写在注解里,现在我们使用xml方式配置 <!-- 配置事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name原创 2015-05-13 23:45:15 · 700 阅读 · 0 评论 -
spring学习笔记(26)——spring整合ehcache
ehcache配置文件spring配置文件中配置使用ehcache配置文件在src下创建ehcache.xml<?xml version="1.0" encoding="UTF-8"?><ehcache name="es"> <diskStore path="java.io.tmpdir"/> <!-- name属性是根据需要自行取名 --> <!-- cache节点可原创 2015-08-27 13:41:51 · 1061 阅读 · 0 评论 -
spring学习笔记(5)——bean的继承与依赖关系
bean的继承关系bean之前可以继承,子bean可以继承父bean的属性,这很好理解。看代码 <bean id="car_father" class="com.zj.relation.Car"> <property name="brand" value="bmw"></property> <property name="price" value="111111原创 2015-05-04 14:45:51 · 1124 阅读 · 0 评论 -
spring学习笔记(1)——创建spring项目之HelloWorld
配置spring的eclipse插件有一个叫spring-tool-suit的eclipse插件,可以提高我们的开发速度。下载插件包(大家自己百度) 在eclipse中安装插件点击help->install new sofeware,点击add,弹出一个小框,选择你下载下来的插件包,点击确定,可以得到如下结果 选择所有含有Spring IDE字样的。一共有四个(把左下角Contact all up原创 2015-04-30 16:19:02 · 1453 阅读 · 2 评论 -
spring学习笔记(4)——配置文件配置bean自动装配
什么是自动装配之前我们主动指定bean属性引用哪个bean,这是手动装配,使用自动装配,可以让spring根据name或者type来帮我们装配。。说得有点抽象,来看代码。 下面是之前手动装配的例子 <bean id="car" class="com.zj.spring.Car"> <property name="brand" value="bmw"></property>原创 2015-05-01 21:15:53 · 1253 阅读 · 0 评论 -
spring学习笔记(11)——使用FactoryBean创建bean
使用FactoryBean创建beanspring有提供给我们FactoryBean接口,我们也可以使用它来创建bean实现接口package com.zj.beanFactory;import org.springframework.beans.factory.FactoryBean;public class PersonFactoryBean implements FactoryBean<Per原创 2015-05-08 10:42:19 · 1334 阅读 · 0 评论 -
spring学习笔记(2)——bean的配置
bean的配置其实在上一个笔记中就已经配置过一个bean,但是还有很多细节需要注意。根据构造方法配置bean的属性先来写一个类package com.zj.spring;public class Person { private String name; private int age; private double salary; public Person(Str原创 2015-04-30 19:59:24 · 918 阅读 · 0 评论 -
spring学习笔记(15)——AOP基础
发现问题我们先来看看开发过程中有可能会遇到什么问题,而AOP又能为我们带来什么的好处,通过这种方式,能够真正的理解什么是AOP,为什么要用AOP假设我们要实现一个计算器功能,要求 1. 能够实现基本的加减乘除计算功能 2. 要求实现日志功能写一个计算器接口package com.zj.aop;public interface Calcultor { int add(int a, int原创 2015-05-08 17:33:25 · 975 阅读 · 0 评论 -
spring学习笔记(14)——泛型依赖注入
泛型依赖注入写一个baseRepository,可以将DAO层相同的操作给封装起来,比如一般的增删改查,所有的DAO一般都有这些操作,因此可以写到父类中,并且使用泛型package com.zj.generic;public class BaseRepository<T> { public void add() { System.out.println("reponsitory原创 2015-05-08 16:33:34 · 6205 阅读 · 0 评论 -
spring学习笔记(16)——AOP之前后置通知
前置通知本文接上一篇spring学习笔记(15)——AOP基础为了更好的解决上次说的问题,我们使用AOP先加入jar包 package com.zj.asceptj;public interface Calcultor { int add(int a, int b); int sub(int a, int b);}package com.zj.asceptj;import or原创 2015-05-08 18:23:51 · 2686 阅读 · 1 评论 -
spring学习笔记(18)——切面的优先级
切面的优先级使用@Order注解来指定切面的优先级值越小,优先级越高如:@Order(1)@Aspect@Componentpublic class LoggingAspect(){ //....}原创 2015-05-09 10:12:35 · 785 阅读 · 0 评论 -
spring学习笔记(19)——重用切点表达式
重用切点表达式先看看之前的代码@Aspect@Componentpublic class LoggingAscept { @Before("execution(* com.zj.asceptj.*.*(..))") public void beforeMethod(JoinPoint joinpoint){ //注意,JoinPoint来自org.aspectj.原创 2015-05-09 10:25:45 · 1208 阅读 · 0 评论 -
spring学习笔记(13)——注解Autowired自动装配
使用Autowired一般情况下,controller和service是有关联关系的,service和DAO层是有关联关系的,我们使用autowired注解,在controller中装配service,在service中装配reponsitorypackage com.zj.annotation.service;public interface TestService { void ad原创 2015-05-08 16:10:46 · 3220 阅读 · 0 评论 -
spring学习笔记(20)——基于配置文件方式配置AOP
基于注解的方式配置AOP查看先前的笔记 - spring学习笔记(15)——AOP基础 - spring学习笔记(16)——AOP之前后置通知 - spring学习笔记(17)——返回通知&异常通知&环绕通知 - spring学习笔记(18)——切面的优先级 - spring学习笔记(19)——重用切点表达式基于配置文件方式配置AOP功能代码package com.zj.asceptj.x原创 2015-05-09 10:53:23 · 1251 阅读 · 0 评论 -
spring学习笔记(17)——返回通知&异常通知&环绕通知
本人接上篇spring学习笔记(16)——AOP之前后置通知返回通知 /** * 返回通知: 方法正常执行完后调用,如果有异常,则不调用 * 可以访问到方法的返回值 * @param joinPoint * @param result 方法的返回值 */ @AfterReturning(value="exec原创 2015-05-09 10:07:46 · 2482 阅读 · 1 评论 -
spring学习笔记(3)——bean配置细节注意
一个bean引用另外一个bean当value中有特殊符号使用内部bean两者有什么区别null值级联属性配置集合属性配置独立的集合bean供多个bean引用使用p命名空间1. 一个bean引用另外一个bean当Person类中有一个属性是Car,那么该如何配置呢person:package com.zj.spring;public class Person { private原创 2015-04-30 21:56:11 · 3221 阅读 · 0 评论 -
自己动手写个spring IOC容器
前言自定义IOC容器的基本架构架构图解基本思路IOC容器实现图解IOC容器实现创建一个java工程导入 dom4jjar 和 jaxenjar创建测试用的类创建ApplicationContextxmlXmlConfigBeanFactory测试demo下载前言spring的优点和实现原理不在此详述,想要自己动手写一个简单的IOC容器,要求各位对spring有一定的了解或者原创 2016-02-18 15:40:46 · 6237 阅读 · 7 评论