随笔分类 - Spring
Spring学习十六:使用Spring的注解方式实现AOP的细节
摘要:1、修改 MyInterceptor 类,代码如下:package org.learn.spring.service;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.After;import...
阅读全文
Spring学习十五:使用Spring的注解方式实现AOP入门
摘要:1、AOP 中的概念:Aspect(切面):指横切性关注点的抽象即为切面,它与类相似,只是两者的关注点不一样,类是对物体特征的抽象,而切面横切性关注点的抽象.joinpoint(连接点):所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点,实际...
阅读全文
Spring学习十四:使用CGLIB实现AOP功能与AOP概念解释
摘要:如果 PersonServiceImpl 类没有实现接口,那么我们该如何创建代理对象?往工程中导入 com.springsource.net.sf.cglib-2.2.0.jar 包,通过该jar包来创建代理对象。1、创建 CGLibProxyFactory 类,代码如下:package com.l...
阅读全文
Spring学习十三:使用JDK中的Proxy技术实现AOP功能
摘要:1、创建工程或者java项目2、定义接口 PersonService, 代码如下:package learn.aop.service;public interface PersonService { public void save(String personname); public void u...
阅读全文
Spring学习十二:Spring自动扫描和管理Bean
摘要:前面的例子我们都是使用XML的bean定义来配置组件。在一个稍大的项目中, 通常会有上百个组件,如果这些这组件采用xml的bean定义来配置, 显然会增加配置文件的体积,查找及维护起来也不太方便。spring(Spring2.5以上的版本,包含2.5版)为 我们引入了组件自动扫描机制,它可以在类路径底下寻找标注了 @Component、 @Service、 @Controller、 @Repository 注解的类, 并把这些类纳入进spring容器中管理。它的作用和在xml文件中 使用bean节点配置组件是一样的。要使用自动扫描机制,我们需要打开 以下配置信息: 其中base-pac...
阅读全文
Spring学习十一:@Autowire注解与自动装配
摘要:1、修改 PresonServiceImpl 类,代码如下:package com.learn.service.impl;import org.springframework.beans.factory.annotation.Autowired;import com.learn.dao.PresonDao;import com.learn.service.PresonService;/** * 业务层 * @author Administrator * */public class PresonServiceImpl implements PresonService { @Autowired.
阅读全文
Spring学习十:编码剖析@Resource注解的实现原理
摘要:1、在相关的包下创建 Annotation ,右键 -----> Other --------> 如下图所示选中之后,点击 Next ,对文件进行命名,代码如下:package junit.test;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;//指明注解保留的范围@Retention(RetentionPolicy
阅读全文
Spring学习九:用@Resource注解完成属性装配
摘要:一、通过之前学习知道注入依赖对象有:手工装配和自动装配。手工装配又有两种装配方式:(1)、在XML 配置文件中,通过 bean 节点配置,如下: (2)、在java 代码中使用@Autowired 或者 @Resource 注解方式进行装配,但是需要在xml 配置文件中配置一下信息: 这个配置隐式注册了多个对注释进行解析出来的处理器:AutowiredAnnotationBeanPostProcessor 、CommonAnnotationBeanPostProcessor PersistenceAnnotationBeanPostProcessor、Required...
阅读全文
Spring学习八:使用构造器装配属性
摘要:1、修改 PresonServiceImpl 类,代码如下:package com.learn.service.impl;import com.learn.dao.PresonDao;import com.learn.service.PresonService;public class PresonServiceImpl implements PresonService { private PresonDao presonDao; private String name; public PresonServiceImpl(PresonDao presonDao, String name) ..
阅读全文
Spring学习七:Spring如何装配各种集合类型的属性
摘要:1、修改PresonServiceImpl 类,代码如下:package com.learn.service.impl;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;import com.learn.service.PresonService;/** * 业务层 * @author Administrator * */public class Preson
阅读全文
Spring学习 六:编码剖析Spring装配基本属性的原理
摘要:之前我们都是介绍如何注入依赖对象类型的,那么如何注入基本类型呢?例如:private String name;我们如何给 name 属性注入值?1、修改 PresonServiceImpl 类,代码如下:package com.learn.service.impl;import com.learn.dao.PresonDao;import com.learn.service.PresonService;/** * 业务层 * @author Administrator * */public class PresonServiceImpl implements PresonService { .
阅读全文
Spring学习五:编码剖析Spring依赖注入的原理
摘要:一:经过前面的学习我们知道,通过控制反射可以将依赖对象交给Spring管理,通过容器注入到组件内部。二:在spring是如何将对象注入到组件内部?1、创建类PresonDaoImpl,代码如下:package com.learn.dao.impl;import com.learn.dao.PresonDao;public class PresonDaoImpl implements PresonDao { public void add(){ System.out.println("执行add()!"); }}2、抽取出接口(在前面讲过,这里不再赘余。)3、将 Preson
阅读全文
Spring学习四:Spring管理的Bean的生命周期
摘要:1、如果是单例模式,bean是在什么时候被实例化的呢?我们在 PresonServiceImpl 类中添加一个带输出语句的构造函数,代码如下:package com.learn.service.impl;import com.learn.service.PresonService;/** * 业务层 * @author Administrator * */public class PresonServiceImpl implements PresonService { public PresonServiceImpl(){ System.out.print("实例化");
阅读全文
Spring学习三:Spring的三种实例化Bean的方式以及bean的作用域
摘要:一、第一种实例化的方法:使用类构造器实例化1、这中实例化方法在前面以及用到了,这里不再细讲。二、第二种实例化方法:使用静态工厂方法实例化1、创建一个类 PresonServiceFactoryImpl,代码如下:package com.learn.service.impl;public class PresonServiceFactoryImpl { public static PresonServiceImpl createPresonServiceImpl(){ return new PresonServiceImpl(); }}其中的 PresonServiceImpl 是我们前面...
阅读全文
Spring学习二:编码剖析Spring管理Bean的原理
摘要:通过前面的学习我们知道了如何实例化spring容器的,但是它是如何来管理bean和创建bean 的呢?下面模拟spring的机制:1、创建一个实体类BeanDefinition,用于存放xml文件中的信息,代码如下:package junit.test;/** * 用于存放读取到的xml文件中bean的信息 * @author Administrator * */public class BeanDefinition { private String id; private String className; public BeanDefinition(String id, String ..
阅读全文
Spring学习一:搭建和测试spring开发环境
摘要:一:搭建开发环境1、下载spring相关的架包,这个可以在网上搜索下载,可以参考http://blog.csdn.net/undergrowth/article/details/99283772、创建web应用3、我这里下载的是:spring-framework-m2-dist.zip、spring-framework-3.0.1.RELEASE-dependencies.zip两个压缩包,将他们解压分别得到spring-framework-4.0.0.M2、spring-framework-3.0.1.RELEASE-dependencies 文件夹,然后将spring-framework-
阅读全文
Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: IOException
摘要:具体错误如下:严重:Contextinitializationfailedorg.springframework.beans.factory.BeanDefinitionStoreException:IOExceptionparsingXMLdocumentfromServletContextresource[/WEB-INF/applicationContext.xml];nestedexceptionisjava.io.FileNotFoundException:CouldnotopenServletContextresource[/WEB-INF/applicationContext.x
阅读全文
浙公网安备 33010602011771号