- 浏览: 764501 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (208)
- Java (77)
- JavaScript (16)
- UML (1)
- Spring (24)
- Hibernate (11)
- J2EE部署 (18)
- 操作系统 (13)
- struts (11)
- jsp (3)
- J2EE (34)
- 数据库 (22)
- tomcat (4)
- apache (2)
- MyEclipse (13)
- Linux (14)
- Ext (6)
- Weblogic (2)
- 数据库 Oracle 空表导出 (1)
- Oracle (3)
- 编码 乱码 (1)
- 多线程 (5)
- jQuery (2)
- Apache Mina (1)
- ibatis (6)
- abator (1)
- svn (1)
- jvm (1)
- ERwin (2)
- mysql (2)
- ant (1)
- memcache (1)
- dubbo (1)
- PowerDesigner (1)
最新评论
-
di1984HIT:
Shallow heap & Retained heap -
tinguo002:
非常感谢 , 太棒了。
Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法 -
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
Apache Mina – 简单的客户端/服务端应用示例 -
wumingxingzhe:
好文
Shallow heap & Retained heap -
di1984HIT:
学习了!!
工作流(Workflow)和BPM的不同
Gof曾提出,针对接口编程,而不是实现。
通常情况下,开发者将业务对象抽象为Java接口,然后将各个业务共性的内容实现为抽象类,并继承于Java接口。继而,再依据具体的业务操作类型,实现业务对象,并继承于抽象类。其明显含义是:子类只能添加或者重载操作,而不能隐藏父类的操作。最终,实现了抽象类的具体业务实现类能够响应抽象类继承的接口发送的请求操作。
1.背景
Ioc设计模式,重点关注组件的依赖性、配置以及生命周期。Ioc也适用于简单类,而不只是组件。昵称Dependency Injection(依赖注入)。
Ioc将创建对象实例的任务交给Ioc容器或者框架(注,实现了Ioc设计模式的框架,有时候也称之为Ioc容器),使得应用程序代码只需要直接使用实例,这就是Ioc。
使用Ioc,能提供如下几方面的优势:
1)应用组件不需要在运行时寻找其协作者,更易于开发和编写应用。在许多Ioc容器中,借助于设置方式能够在运行时将组件依赖的其他组件注入进来。
2)由于借助Ioc容器管理组件的依赖关系,更有利于单元测试和集成测试。
3)通常,在借助于Ioc容器管理业务对象的前提下,很少需要使用具体Ioc容器提供的API。这使得集成现有的遗留系统成为可能。
因此,通过使用Ioc能够降低组件之间的耦合度。最终,能够提高类的重用性,更利于测试,而且整个产品或系统更利于集成和配置。
2.Spring Ioc
Spring Ioc容器实现了Ioc设计模式。为实现对Spring Ioc容器的访问,代码可通过如下两个接口实现:
1)BeanFactory:位于org.springframework.beans.factory包中。开发者借助于配置文件(比如,XML或属性文件),能够实现对JavaBean的配置与管理。主要用开发java应用,比如Applet应用。
2)ApplicationContext:位于org.springframework.context包中。ApplicationContext构建在BeanFactory的基础上,即继承于它。除了具有BeanFactory的功能外,还添加了大量功能,比如Spring Ioc集成、(为实现国际化而)处理消息资源、(为应用对象发布和注册通知事件而)添加了事件、声明(非)容器提供的服务等。主要用于J2EE开发,是Spring推荐的接口。
3.BeanFactory
(在spring-beans.jar包中,org.springframework.beans.factory.BeanFactory)
Spring BeanFactory是非常轻量的,它处于Spring框架的核心。可用于Applet应用和单独的Swing/SWT应用中。对于EJB应用而言也同样适用。在整个Spring框架中都存在BeanFactory的概念,即统一使用BeanFactory访问Spring Ioc容器。开发者通过使用BeanFactory能够定义和提供良好的业务对象层,从技术架构角度考虑,这是很合理的。
当应用创建BeanFactory实例时,实际上是完成了JavaBean的实例化、配置以及管理,即BeanFactory在访问和操作Ioc容器的初期充当了Ioc容器的作用。其中,BeanFactory具体使用的Spring配置文件定义了各个JavaBean之间的关系。
Spring提供了org.springframework.beans.factory.BeanFactory接口的若干实现。对于应用需要实例化BeanFactory实例的场合,XmlBeanFactory使用尤为广泛。
Spring配置文件(appcontext.xml)必须遵循spring-beans.dtd定义的内容模型。其中,spring-beans.dtd为javabean命名空间提供了一种简单、一致的定义方式,供BeanFactory配置使用。大部分Spring框架提供的功能都需要使用到它,包括基于BeanFactory的web应用上下文。
为了配置Spring application.xml文件,开发者需要告诉XmlBeanFactory构建器,即appcontext.xml文件。下述应用使用了Spring框架中org.springframework.core.io提供的实用类ClassPathResource:
Resource resource = new ClassPathResource("appcontext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
HelloWorld hw = (HelloWorld) factory.getBean("fileHelloWorld");
还存在两种方式:
其一,基于文件找到appcontext.xml,如下:
InputStream ins = new FileInputStream("src/appcontext.xml");
BeanFactory factory = new XmlBeanFactory(ins);
HelloWorld hw = (HelloWorld) factory.getBean("fileHelloWorld");
其二,基于ApplicationContext实现类找到appcontext.xml文件。如下:
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(new String[]{"appcontext.xml"});
BeanFactory factory = (BeanFactory)appContext;
HelloWorld hw = (HelloWorld) factory.getBean("fileHelloWorld");
多数情况下,并不需要显示的实例化BeanFactory实例,因为Spring框架完成了这部分工作。当J2EE Web应用部署并启动时,Spring ApplicationContext将会自动被实例化。
为了获得appcontext.xml中定义的JavaBean,应用代码只需要调用BeanFactory的getBean方法,并转换为JavaBean所属类型。
3.1)Bean的生命周期
借助Ioc容器,即BeanFactory能实现对javabean的控制反转。Ioc容器定义了Spring配置文件中Javabean应遵循的规则。Ioc控制下的javabean的生命周期存在4个阶段:
a)实例化Javabean;
b)javabean实例的初始化,即通过Ioc注入其依赖性;
c)基于Spring应用对javabean实例的使用;
d)Ioc容器销毁javabean实例。
3.2)Bean创建。
借助于构建器创建javabean最常见,推荐尽量使用无参数构建器创建javabean实例。
Spring配置文件中<ref>提供如下几个方面的属性:
a)bean:在当前Spring XML配置文件中,或者在同一BeanFactory(AapplicationContext)中的其他javaBean中。
b)local:其依赖的JavaBean必须存在于当前Spring XML配置文件中。借助于Spring IDE,在编译期会对依赖的javabean进行验证。
c)用于指定其依赖的父javabean定义。
3.3)初始化JavaBean
3.4)使用javabean
借助于getBean方法,在应用中能够应用到它。
3.5)销毁javaBean
4.ApplicationContext
BeanFactory提供了管理和操作JavaBean的基本功能,而且是通过应用嗲吗显式的实例化BeanFactory来完成的。为加强功能,Spring框架引入了ApplicationContext接口,不需手动创建ApplicationContext实例,以声明方式便可使用它。
org.springframework.web.context.ContextLoaderListener
或者
org.springframework.web.context.ContextLoaderServlet
能够在web应用启动的时候自动实例化ApplicationContext对象。
注意:对于Spring BeanFactory而言,如果用户没有调用getBean方法,则使用到的JavaBean实例不会被创建。因此,在BeanFactory中使用了延迟装载机制,这和BeanFactory的应用场合(内存和其他资源受限)有关系。对于Spring ApplicationContext而言,一旦ContextLoaderListener或ContextLoaderServlet初始化成功,所有的javabean实例将被创建(除非改变AapplicationContext的默认行为,比如显式设置延迟装在行为)
4.1)web应用中创建applicationContext
通过ContextLoaderListener或ContextLoaderServlet能够自动创建ApplicationContext实例。也可以手动创建。
对于实现了servlet2.4规范的web容器,可同时使用ContextLoaderListener和ContextLoaderServlet。web应用启动时,将自动初始化监听器,如ContextLoaderListener
对于实现规范servlet2.2的web容器,只能使用ContextLoaderServlet
4.2)ApplicationContextAware
在Spring应用中,有时需要将Spring应用中的ApplicationContext实例注入到JavaBean实例中。例如:为了在某Javabean实例中动态获得ApplicationContext创建的某单例JavaBean,但是该单例JavaBean并没有显式的使用(在Spring配置文件中没有显式地给出对单例JavaBean的引用)到它。这种情况下,借助ApplicationContextAware能实现开发要求。如:
org.springframework.context.ApplicationContextAware
其中定义了如下方法:
void setApplicationContext(ApplicationContext applicationContext)
throws BeansException
比如在Spring配置中定义了两个JavaBean:bean1和bean2,如果bean2需要使用到bean1,但是bean2的Spring配置中,没有显式的配置对bean1的引用(没有<ref>)。此时,借助ApplicationContextAware,让bean2实现ApplicationContextAware接口,定义私有的applicationContext变量,并提供相应的setter方法。通过调用applicationContext的getBean方法就可以获取需要的bean1。
这同BeanFactoryAware 类似。
4.3)ApplicationContext接口实现
基于ApplicationContext接口,Spring框架提供了若干实现。
a)ClassPathXmlApplicationContext:在web应用中,开发者可以从classpath中,即WEB-INF/classes或WEB-INF/lib的jar中装载Spring配置文件。单元测试中常用到。
b)FileSystemXmlApplicationContext:开发者可以从文件系统中装载Spring配置文件。单元测试常用。
c)XmlWebApplicationContext:供ContextLoaderListener或ContextLoaderServlet内部装载Spring配置文件使用。
通常情况下,开发者将业务对象抽象为Java接口,然后将各个业务共性的内容实现为抽象类,并继承于Java接口。继而,再依据具体的业务操作类型,实现业务对象,并继承于抽象类。其明显含义是:子类只能添加或者重载操作,而不能隐藏父类的操作。最终,实现了抽象类的具体业务实现类能够响应抽象类继承的接口发送的请求操作。
1.背景
Ioc设计模式,重点关注组件的依赖性、配置以及生命周期。Ioc也适用于简单类,而不只是组件。昵称Dependency Injection(依赖注入)。
Ioc将创建对象实例的任务交给Ioc容器或者框架(注,实现了Ioc设计模式的框架,有时候也称之为Ioc容器),使得应用程序代码只需要直接使用实例,这就是Ioc。
使用Ioc,能提供如下几方面的优势:
1)应用组件不需要在运行时寻找其协作者,更易于开发和编写应用。在许多Ioc容器中,借助于设置方式能够在运行时将组件依赖的其他组件注入进来。
2)由于借助Ioc容器管理组件的依赖关系,更有利于单元测试和集成测试。
3)通常,在借助于Ioc容器管理业务对象的前提下,很少需要使用具体Ioc容器提供的API。这使得集成现有的遗留系统成为可能。
因此,通过使用Ioc能够降低组件之间的耦合度。最终,能够提高类的重用性,更利于测试,而且整个产品或系统更利于集成和配置。
2.Spring Ioc
Spring Ioc容器实现了Ioc设计模式。为实现对Spring Ioc容器的访问,代码可通过如下两个接口实现:
1)BeanFactory:位于org.springframework.beans.factory包中。开发者借助于配置文件(比如,XML或属性文件),能够实现对JavaBean的配置与管理。主要用开发java应用,比如Applet应用。
2)ApplicationContext:位于org.springframework.context包中。ApplicationContext构建在BeanFactory的基础上,即继承于它。除了具有BeanFactory的功能外,还添加了大量功能,比如Spring Ioc集成、(为实现国际化而)处理消息资源、(为应用对象发布和注册通知事件而)添加了事件、声明(非)容器提供的服务等。主要用于J2EE开发,是Spring推荐的接口。
3.BeanFactory
(在spring-beans.jar包中,org.springframework.beans.factory.BeanFactory)
Spring BeanFactory是非常轻量的,它处于Spring框架的核心。可用于Applet应用和单独的Swing/SWT应用中。对于EJB应用而言也同样适用。在整个Spring框架中都存在BeanFactory的概念,即统一使用BeanFactory访问Spring Ioc容器。开发者通过使用BeanFactory能够定义和提供良好的业务对象层,从技术架构角度考虑,这是很合理的。
当应用创建BeanFactory实例时,实际上是完成了JavaBean的实例化、配置以及管理,即BeanFactory在访问和操作Ioc容器的初期充当了Ioc容器的作用。其中,BeanFactory具体使用的Spring配置文件定义了各个JavaBean之间的关系。
Spring提供了org.springframework.beans.factory.BeanFactory接口的若干实现。对于应用需要实例化BeanFactory实例的场合,XmlBeanFactory使用尤为广泛。
Spring配置文件(appcontext.xml)必须遵循spring-beans.dtd定义的内容模型。其中,spring-beans.dtd为javabean命名空间提供了一种简单、一致的定义方式,供BeanFactory配置使用。大部分Spring框架提供的功能都需要使用到它,包括基于BeanFactory的web应用上下文。
为了配置Spring application.xml文件,开发者需要告诉XmlBeanFactory构建器,即appcontext.xml文件。下述应用使用了Spring框架中org.springframework.core.io提供的实用类ClassPathResource:
Resource resource = new ClassPathResource("appcontext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
HelloWorld hw = (HelloWorld) factory.getBean("fileHelloWorld");
还存在两种方式:
其一,基于文件找到appcontext.xml,如下:
InputStream ins = new FileInputStream("src/appcontext.xml");
BeanFactory factory = new XmlBeanFactory(ins);
HelloWorld hw = (HelloWorld) factory.getBean("fileHelloWorld");
其二,基于ApplicationContext实现类找到appcontext.xml文件。如下:
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(new String[]{"appcontext.xml"});
BeanFactory factory = (BeanFactory)appContext;
HelloWorld hw = (HelloWorld) factory.getBean("fileHelloWorld");
多数情况下,并不需要显示的实例化BeanFactory实例,因为Spring框架完成了这部分工作。当J2EE Web应用部署并启动时,Spring ApplicationContext将会自动被实例化。
为了获得appcontext.xml中定义的JavaBean,应用代码只需要调用BeanFactory的getBean方法,并转换为JavaBean所属类型。
3.1)Bean的生命周期
借助Ioc容器,即BeanFactory能实现对javabean的控制反转。Ioc容器定义了Spring配置文件中Javabean应遵循的规则。Ioc控制下的javabean的生命周期存在4个阶段:
a)实例化Javabean;
b)javabean实例的初始化,即通过Ioc注入其依赖性;
c)基于Spring应用对javabean实例的使用;
d)Ioc容器销毁javabean实例。
3.2)Bean创建。
借助于构建器创建javabean最常见,推荐尽量使用无参数构建器创建javabean实例。
Spring配置文件中<ref>提供如下几个方面的属性:
a)bean:在当前Spring XML配置文件中,或者在同一BeanFactory(AapplicationContext)中的其他javaBean中。
b)local:其依赖的JavaBean必须存在于当前Spring XML配置文件中。借助于Spring IDE,在编译期会对依赖的javabean进行验证。
c)用于指定其依赖的父javabean定义。
3.3)初始化JavaBean
3.4)使用javabean
借助于getBean方法,在应用中能够应用到它。
3.5)销毁javaBean
4.ApplicationContext
BeanFactory提供了管理和操作JavaBean的基本功能,而且是通过应用嗲吗显式的实例化BeanFactory来完成的。为加强功能,Spring框架引入了ApplicationContext接口,不需手动创建ApplicationContext实例,以声明方式便可使用它。
org.springframework.web.context.ContextLoaderListener
或者
org.springframework.web.context.ContextLoaderServlet
能够在web应用启动的时候自动实例化ApplicationContext对象。
注意:对于Spring BeanFactory而言,如果用户没有调用getBean方法,则使用到的JavaBean实例不会被创建。因此,在BeanFactory中使用了延迟装载机制,这和BeanFactory的应用场合(内存和其他资源受限)有关系。对于Spring ApplicationContext而言,一旦ContextLoaderListener或ContextLoaderServlet初始化成功,所有的javabean实例将被创建(除非改变AapplicationContext的默认行为,比如显式设置延迟装在行为)
4.1)web应用中创建applicationContext
通过ContextLoaderListener或ContextLoaderServlet能够自动创建ApplicationContext实例。也可以手动创建。
对于实现了servlet2.4规范的web容器,可同时使用ContextLoaderListener和ContextLoaderServlet。web应用启动时,将自动初始化监听器,如ContextLoaderListener
<!-- Listener contextConfigLocation --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
对于实现规范servlet2.2的web容器,只能使用ContextLoaderServlet
4.2)ApplicationContextAware
在Spring应用中,有时需要将Spring应用中的ApplicationContext实例注入到JavaBean实例中。例如:为了在某Javabean实例中动态获得ApplicationContext创建的某单例JavaBean,但是该单例JavaBean并没有显式的使用(在Spring配置文件中没有显式地给出对单例JavaBean的引用)到它。这种情况下,借助ApplicationContextAware能实现开发要求。如:
org.springframework.context.ApplicationContextAware
其中定义了如下方法:
void setApplicationContext(ApplicationContext applicationContext)
throws BeansException
比如在Spring配置中定义了两个JavaBean:bean1和bean2,如果bean2需要使用到bean1,但是bean2的Spring配置中,没有显式的配置对bean1的引用(没有<ref>)。此时,借助ApplicationContextAware,让bean2实现ApplicationContextAware接口,定义私有的applicationContext变量,并提供相应的setter方法。通过调用applicationContext的getBean方法就可以获取需要的bean1。
这同BeanFactoryAware 类似。
4.3)ApplicationContext接口实现
基于ApplicationContext接口,Spring框架提供了若干实现。
a)ClassPathXmlApplicationContext:在web应用中,开发者可以从classpath中,即WEB-INF/classes或WEB-INF/lib的jar中装载Spring配置文件。单元测试中常用到。
b)FileSystemXmlApplicationContext:开发者可以从文件系统中装载Spring配置文件。单元测试常用。
c)XmlWebApplicationContext:供ContextLoaderListener或ContextLoaderServlet内部装载Spring配置文件使用。
发表评论
-
tomcat7可能带来的问题
2013-06-27 00:31 9431、struts标签校验更加严格,如果struts标签中存在嵌 ... -
Spring框架下获取Bean的几种方式
2011-11-03 00:06 4059通过xml配置文件 bean配置在xml里面,spri ... -
Activiti 5.6:子流程(subProcess)
2011-09-22 15:26 12671Activiti 5.6提供了子流程的实现,包括两种基于子流程 ... -
Activiti 5.6:配置与Spring整合
2011-09-21 13:00 11403Activiti 5.6与Spring整合也比较简单,其基本 ... -
Activiti 5.6安装配置
2011-09-21 11:38 5855安装配置Activiti 5.6还是比较容易的,在这里 ... -
Spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法
2011-09-01 23:08 17954启动工程时出现异常: Caused by: java.lang ... -
Spring 注解@Component,@Service,@Controller,@Repository
2011-09-01 21:02 1115Spring 2.5 中除了提供 @Component 注释外 ... -
使用 Spring 2.5 基于注解驱动的 Spring MVC
2012-02-29 15:54 1065转自:http://www.ibm.com/developer ... -
log4j.properties配置详解
2011-07-07 14:41 1083Log4J的配置文件(Configuration File)就 ... -
Spring注解详解
2011-01-04 01:02 1404基于注释(Annotation)的配置有越来越流行的趋 ... -
Spring2.x与Spring1.x的单例模式的配置区别
2010-03-11 17:49 2110在Spring1.x中配置单例的方法为: <bean i ... -
一个Web Project中无法打断点的原因
2010-02-28 10:59 1213新建一个标准的SSH工程:struts2,spring2,hi ... -
Spring管理struts中的action
2009-10-28 16:49 1103让Spring管理struts中的action,可以在stru ... -
Spring学习笔记(八)——Spring远程服务
2009-09-17 09:59 1184目前Spring提供的远程服务主要有: ◆RMI:借助于Spr ... -
Spring学习笔记(七)——Spring持久化服务 DAO JDBC ORM
2009-09-15 17:55 3502对于RDBMS相关的应用而 ... -
Spring学习笔记(六)——Spring消息服务-JMS
2009-09-10 16:19 2844JMS即java消息服务。在JMS中JMS消息并不同应用直接交 ... -
Spring学习笔记(五)——Spring事务服务-JTA
2009-09-08 17:47 5214Spring为事务管理提供一 ... -
Spring学习笔记(四)——Spring框架概述
2009-09-03 21:46 1036Spring框架的分成工作,即模块化,完成的非常好。 1 ... -
Spring学习笔记(三)——Spring AOP
2009-09-03 15:34 14641.AOP及Spring AOP背景知识 ... -
propertyConfigurer spring 引入多个属性文件
2009-08-31 11:23 5584<bean id="propertyConfi ...
相关推荐
NULL 博文链接:https://ysj5125094.iteye.com/blog/1606928
在“Java Spring学习笔记”中,你将找到对Spring框架的全面介绍,包括IoC(控制反转)和DI(依赖注入)原理、AOP(面向切面编程)、Spring MVC、Spring Boot等核心内容。每个主题都结合了理论知识和实际示例,帮助你...
源代码 博文链接:https://danielkwo.iteye.com/blog/40945
在自学Spring Framework 开发参考手册2.5时做的学习笔记,其中在遇到手册上不能理解的地方的时候,在网上找了一些比较好的文档也放在了里面。
控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection)。我个人认为控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理这些对象,使得...
Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control: 反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring ...
web开发技术spring框架控制反转思想IOC学习笔记,并对java的静态代理和动态代理进行了相关叙述
核心概念:深入探讨了 Spring 的核心概念,如控制反转(IoC)和面向切面编程(AOP),以及它们如何改善应用程序的设计和结构。 Spring 容器:介绍了 Spring 容器的不同类型,包括 BeanFactory 和 ...
依赖注入DI/IoC控制反转:提供松耦合的一种实现技术 AOP面向切面编程:(可以在不修改源代码的前提下,增强权限,日志,事务功能)切面编程将业务逻辑从应用服务中分离 容器(spring):管理dao,service,action,...包含并...
Spring.NET学习笔记:资源有源代码程序及文档说明,基础篇、应用篇、扩展集成、企业架构体系实战等;基础篇包括:控制反转,环境搭建,实现简易IOC框架,对象的创建,容器中对象作用域,依赖注入,依赖对象的注入,...
Spring是一个开源的控制反转(Inversion of Control , Ioc)和面向切面(AOP)的容器框架.它的主要目的是简化企业开发.
Spring框架概述1、什么是Spring2、Spring框架的优点3、Spring框架体系结构Spring框架——控制反转(IOC)1、IOC介绍2、基于配置的IOC2.1、导入jar包2.2、配置文件2.3、测试3、基于注解的IOC3.0、导包3.1、开启注解...
Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............
Spring IOC 控制反转(类[对象]交由Spring容器管理) restructure 学习代码重构 mybatis-enum MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理 AOP 在这里我们以 吃饭 业务为例,向你演示Spring AOP的...
Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............
学习笔记 IOC 和 DI 的概述 IOC(Inversion of Controll) 思想是反转资源获取的方向,传统的资源查找方式要求组件向容器发起请求查找资源。作为回应,容器适时的返回资源。而应用了IOC之后,则是容器主动的将资源推送...
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...