
spring
文章平均质量分 53
shizhan1881
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring创建bean的三种方式
spring的核心思想是反转控制,即一些我们需要的bean是由spring容器帮我们创建,spring配置文件中创建bean的方式有三种, 1:直接使用bean的默认构造函数 2:使用静态工程创建 3:使用工厂实例创建 下面是这三种方法的xml文件 <b原创 2012-07-07 21:33:14 · 881 阅读 · 0 评论 -
事务隔离级别
数据库系统提供了四种事务隔离级别供用户选择。不同的隔离级别采用不同的锁类型来实现。Serializable的隔离级别最高,Read Uncommited的隔离级别最低。大多数数据库默认的隔离级别为 Read Commited,如sql server。也有不少数据库的默认隔离级别为Repeatable Read,如mysql。 Read Uncommited : 读 未提交的数原创 2012-08-24 10:55:17 · 801 阅读 · 0 评论 -
使用注解配置声明式事务
spring中为事务操作提供了支持,我们不必每次自己打开事务,提交事务,回滚事务。spring利用aop,能够实现往我们的代码中插入事务代码,从而简化我们的编程。 使用声明式事务时,配置文件中必须导入一些命名空间,才能支持aop和事务。 修改beans 标签 如下: <beans xmlns="http://www.springframework.org/原创 2012-08-24 11:13:04 · 1008 阅读 · 0 评论 -
@Transactional注解
Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked 如果遇到checked意外就不回滚。 如何改变默认规则: 1 让checked原创 2012-08-24 10:19:04 · 2359 阅读 · 0 评论 -
spring配置文件配置aop
首先我们编写接口: package com.shizhan.inter;public interface Teach { public void teach(String name);} 接口实现类: package com.shizhan.impl;import com.shizhan.inter.Teach;pub原创 2012-08-23 14:05:04 · 1017 阅读 · 0 评论 -
自己创建@Resource注解
我们可以使用@Resource注解,为字段注入值,如果setXXX方法上有注解@Resource,那么spring容器会帮我们调用该set方法。那么注解功能是如何实现的呢? 我们先来分析 @Resource注解作用于set函数上的。 为了实现 @Resource注解的功能,我们可以根据以下几步做到: 1: 取得bean的属性描述集合原创 2012-07-15 15:27:55 · 2383 阅读 · 0 评论 -
模拟spring注入依赖对象
当我们创建了bean的实例后,怎样为bean注入依赖对象呢? 其实依赖对象也是bean实例的一个属性,那么其实我们调用bean实例的setXXX()方法后,就可以为他注入依赖对象了,同样也是利用反射原理。 看下注入依赖对象的步骤吧: 1:读取bean下面的所有 标签 2:利用自省原理,获得bean的所有属性的集合,PropertyDescriptor[] ps =原创 2012-07-15 13:12:24 · 875 阅读 · 0 评论 -
使用注解配置spring aop
public interface PersonService { public void save(String name); public void update(String name, Integer id); public String getPersonName(Integer id);} import org.aspectj.lang.ProceedingJoi转载 2012-07-15 23:29:09 · 672 阅读 · 0 评论 -
动态代理
在生活中,我们也经常碰到一些烦心的事情,这时候我们不管这些东西是什么鸡毛蒜皮的小事,我们都得进行处理,是否感觉到很累呢?这时候我们是否幻想着像有钱人一样,请一个管家,帮忙我们管理生活中的琐事。 在编程中,我们的代码同样需要“管家”。假如我们的业务需要一些复杂的处理,比如我们很多系统的权限都是用户必须登录,才能执行一些相应的动作。比如发帖,留言,查看用户资料等操作,这时候我们处理这些动作原创 2012-07-15 20:07:05 · 696 阅读 · 0 评论 -
模拟spring创建对象
java提供了反射机制,我们可以根据一个类名,创建出一个该类的一个实例。利用反射的机制,我们就很容易想出spring是怎么样帮我们创建对象的。 spring的xml文件中保存了需要创建的bean的信息。 .................. 其实要创建bean实例的话,我们可以根据以下的步骤: 1原创 2012-07-15 12:28:07 · 1394 阅读 · 0 评论 -
spring为不同类型的属性注值
1:使用构造器为属性注入值,得提供相应的构造函数 public PersonServiceImpl(PersonDao p, String name,List lists) { super(); this.p = p; this.name = name; this.lists = lists; } 配置文件:原创 2012-07-15 09:33:35 · 1089 阅读 · 0 评论 -
动态代理2
之前我们利用Proxy.newProxyInstance()创建代理对象时,必须提供了一个接口,但是有时候我们并没有接口,这时候就不能利用这个方法创建代理对象了。 我们可以利用 cglib-nodep-2.1_3.jar提供的api来创建代理对象。 public class ServiceImpl{ public void add() { System.out.p原创 2012-07-15 22:01:29 · 577 阅读 · 0 评论 -
@Resource,@Autowired注解
当我们在xml里面为类配置注入对象时,会发现xml文件会越来越臃肿,维护起来很麻烦。这时候我们可以使用注解这种机制来为类配置注入对象。 java为我们提供了 javax.annotation.Resource这个注解。 spring框架提供了org.springframework.beans.factory.annotation.Autowired。原创 2012-07-15 10:45:22 · 1436 阅读 · 0 评论 -
测试spring bean的生命周期
package com.shizhan.ps.impl;import java.util.Map;import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import org.springframework.beans.factory.DisposableBean;import org.s原创 2012-07-07 23:01:01 · 1041 阅读 · 0 评论 -
spring使用注解@PostConstruct的xml配置
Spring 2.1 添加了一个新的 context 的 Schema 命名空间,该命名空间对注释驱动、属性文件引入、加载期织入等功能提供了便捷的配置。我们知道注释本身是不会做任何事情的,它仅提供元数据信息。要使元数据信息真正起作用,必须让负责处理这些元数据的处理器工作起来。而我们前面所介绍的AutowiredAnnotationBeanPostProcessor和CommonAnnotati转载 2012-07-07 22:55:24 · 6168 阅读 · 1 评论 -
spring bean的生命周期
在传统的Java应用中,Bean的生命周期非常简单。Java的关键词new用来实例化Bean(或许他是非序列化的)。这样就够用了。 相反,Bean的生命周期在Spring容器中更加细致。理解Spring Bean的生命周期非常重要,因为你或许要利用Spring提供的机会来订制Bean的创建过程。1.容器寻找Bean的定义信息并且将其实例化。 2.受用依赖注入转载 2012-07-07 22:35:27 · 871 阅读 · 1 评论 -
Spring中bean的作用域
如何使用spring的作用域:这里的scope就是用来配置spring bean的作用域,它标识bean的作用域。在spring2.0之前bean只有2种作用域即:singleton(单例)、non-singleton(也称prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用原创 2012-07-07 21:49:08 · 545 阅读 · 0 评论 -
spring整合jdbc
package cn.itcast.bean;public class Person { private Integer id; private String name; public Person(){} public Person(String name) { this.name = name; } public Integer getId()原创 2012-08-24 11:01:42 · 813 阅读 · 0 评论