spring的入门(aop,ioc,bean作用域等)简介
2012-12-25 00:15 eoeAndroid社区 阅读(233) 评论(0) 编辑 收藏 举报Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
个人理解:Sping容器作为一个bean工厂,通过配置文件来管理bean(应用中所有组件都当成bean)
组成关系:BeanFactory -------->ApplicationContext(子接口)-------->ClassPathXmlApplicationContext (实现类)········
IOC控制反转模式(也称作依赖性介入)的基本概念是:通过配置文件来给类注入值,不需要new对象。好处:低耦合,当类改变时,无需要在类中修改,只需要在配置文件中修改
如:
- <bean id="bean2" class="yeah.developers.spring.Bean2">
- <property name="bean3" ref="bean3"></property>
- </bean>
- <bean id="bean3" class="yeah.developers.spring.Bean3">
AOP面向切面编程:定义一个切面类,里面有很多方法,每个方法都有自己的切入点(在什么地方用到)和增强处理(前置,后置)
如:
切面类
@Aspect public class LogPrint { @Pointcut("execution(* cn.itcast.service..*.*(..))")//声明一个切入点 private void anyMethod() {}
@Before("anyMethod() && args(userName)")//定义前置通知 public void doAccessCheck(String userName) { } @AfterReturning(pointcut="anyMethod()",returning="revalue")//定义后置通知 public void doReturnCheck(String revalue) { } @AfterThrowing(pointcut="anyMethod()", throwing="ex")//定义例外通知 public void doExceptionAction(Exception ex) { } @After("anyMethod()")//定义最终通知 public void doReleaseAction() { } @Around("anyMethod()")//环绕通知 public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable { return pjp.proceed(); } }