-
= =查看全部
-
IOC:控制反转,控制权转移,不用代码去new一个对象,由spring负责创建和维护查看全部
-
<aop:config> <aop:aspect id="myAspectAOP" ref="myAspect"> <!--该表达式的意思是,切入点是 aop.schema.advice.biz.AspectBiz 类中的所有方法 --> <aop:pointcut expression="execution(* aop.schema.advice.biz.AspectBiz.*(..))" id="myPiontcut"/> <!--指定前置通知, method中的名称即是 myAspect中的方法名,pointcut-ref 指向某一个切入点 --> <aop:before method="before" pointcut-ref="myPiontcut"/> <!--指定在 切入点方法返回之后调用的通知 ,method中的名称即是 myAspect中的方法名 --> <aop:after-returning method="afterReturning" pointcut-ref="myPiontcut"/> <!--指定在 切入点方法抛出异常后调用的通知,抛出异常后,不会执行after-returning --> <aop:after-throwing method="afterThrowing" pointcut-ref="myPiontcut"/> <!--指定后置通知 当有异常抛出时 执行throwing ,但是由于是非正常结束,所以after-returning就是不会执行了,但是after 是不管你是否正常结束,都一定会执行。 --> <aop:after method="after" pointcut-ref="myPiontcut"/> </aop:aspect> </aop:config>查看全部
-
Spring所有的切面和通知器都必须放在一个<aop:config>内(可以配置包含多个<aop:config>元素),每一个<aop:config>可以包含pointcut , advisor 和 aspect元素 (它们必须按照这个顺序进行声明)查看全部
-
有接口和无接口的Spring AOP实现区别 1.Spring AOP默认使用标准的JavaSE动态代理作为AOP代理,这使得任何接口(或者接口集)都可以被代理 2.Spring AOP中也可以使用CGLIB代理(如果一个业务对象并没有实现一个接口)查看全部
-
Spring的AOP实现 1.纯java实现,无需特殊的编译过程,不需要控制类加载层次 2.目前只支持方法执行连接点(通知Spring Bean的方法执行) 3.不是为了提供最完整的AOP实现(尽管它非常强大);而是侧重于提供一种AOP实现和Spring IoC容器之间的整合,用于帮助解决企业应用中的常见问题 4.Spring AOP不会与AspectJ竞争,从而提供综合全面的AOP解决方案查看全部
-
Spring框架中AOP的用途 1.提供了声明式的企业服务,特别是EJB的替代服务的声明 2.允许用户定制自己的切面,以完成OOP与AOP的互补使用查看全部
-
AOP实现方式 1.预编译 --AspectJ 2. 运行期动态代理(JDK动态代理,CGLib动态代理) --SrpingAOP , JbossAOP查看全部
-
AOP:Aspect Oriented Programming的缩写,意为:面向切面编程 ,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 主要功能是: 日志记录,性能统计,安全控制,事务处理,异常处理等查看全部
-
每个类只能有一个类被标注为 required = true!查看全部
-
Bean的生命周期 当同时以三种方法配置了初始化/销毁时, (1.在配置文件的bean中指定初始化/销毁方法:<bean ... init-method="xxx" destroy-method="xxx"></bean>, 2.实现InitializingBean, DisposableBean接口, 3.全局默认配置default-init-method="xxx", default-destroy-method="xxx")查看全部
-
ean的作用域 singleton:单例,指一个Bean容器中只存在一份; prototype:每次请求(每次使用)创建新的实例,destory方式不生效; request:每次http请求创建一个实例且在当前request内有效; session:同上,每次htto请求创建,当前session内有效; global session:基于portlet的web中有效(portlet定义了global session),如果是在web中,同session;查看全部
-
可以通过添加注解给需要该类型的数组的字段或方法,以提供ApplicatonContext中的所有特定类型的bean @Autowired public void setMovieCatalogs(Set<MovieCatalog> movieCatalog) { this.movieCatalogs = movieCatalogs } 也可以用于装配key为String的Map @Autowired public void setMovieCatalog(Map<String,MovieCatalog> movieCatalog) { this.movieCatalogs = movieCatalogs } 如果希望数组有序,可以让bean实现org.springframework.core.Ordered接口活着使用@Order注解查看全部
-
可以使用@Autowired注解哪些众所周知的解析依赖性接口,比如: BeanFactory , ApplicationContext,Enviroment , ResourceLoader ,ApplicationEventPublisher , and MessageSource 比如 @Autowired private ApplicationContext context查看全部
-
嗯!查看全部
举报
0/150
提交
取消