- 浏览: 702284 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
Spring IOC实例化了哪些对象
启动servlet容器(tomcat),加载web.xml-->加载applicationContext.xml
spring的配置文件applicationContext.xml大致如下:
//将beanService对象注入到Action对象 也可以用注解@Resource beanService <bean id="Login" class="sshdemo.func001.action.LoginAction" scope="prototype"> <property name="personService" ref="personService" /> </bean> //将Dao对象注入到beanService对象里面 <bean id="personService" class="sshdemo.func001.service.PersonServiceImpl"> <property name="personDAO" ref="PersonDAO" /> </bean> //将HibernateTemplate注入到Dao对象里面 <bean id="PersonDAO" class="sshdemo.func001.dao.PersonDAOImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> //将DB连接设置到SessionFactory 也可以通过加载hibernate.cfg.xml创建SessionFactory对象 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean> //创建DB连接,也可以通过配置文件hibernate.cfg.xml里配置参数 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> </bean>
然后在启动tomcat之后,还没有运行程序前,自己配置的log4j打出的日志有如下:
---------------------------------日志分割线--------------------------------------
Loaded 6 bean definitions from location pattern [/WEB-INF/applicationContext.xml]
。。。
6 beans defined in org.springframework.web.context.support.XmlWebApplicationContext@179dce4: display name [Root WebApplicationContext]; startup date [Thu May 14 08:44:00 CST 2009]; root of context hierarchy
。。。
Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6210fb: defining beans [Login,personService,PersonDAO,sessionFactory,dataSource,ChartAction]; root of factory hierarchy
Creating shared instance of singleton bean 'personService'
Creating instance of bean 'personService'
Eagerly caching bean 'personService' to allow for resolving potential circular references
Creating shared instance of singleton bean 'PersonDAO'
Creating instance of bean 'PersonDAO'
Eagerly caching bean 'PersonDAO' to allow for resolving potential circular references
Creating shared instance of singleton bean 'sessionFactory'
Creating instance of bean 'sessionFactory'
Eagerly caching bean 'sessionFactory' to allow for resolving potential circular references
Creating shared instance of singleton bean 'dataSource'
Creating instance of bean 'dataSource'
Eagerly caching bean 'dataSource' to allow for resolving potential circular references
。。。
---------------------------------日志分割线--------------------------------------
在启动servlet容器(tomcat)时,
1.spring就已经初始化了action,PersonServiceImpl,PersonDAOImpl,sessionFactory,dataSource
2.struts2的具体action实例也实例化,但是没包装数据,当用户访问*.action时,会把jsp页面里面的参数包装设置到action的属性里面。这里与struts 1.x不同之处:struts是*.do,经过web.xml过滤,查找有没有请求的action,有--->通过struts-config.xml-->找到<action../>-->对应的beanForm-->把请求参数设置到beanForm里面去。
发表评论
-
spring 事务
2014-03-31 11:14 3447Spring 事务异常回滚 ... -
Spring定时器(Quartz)
2013-08-20 22:54 2810Spring定时器(Quartz) 1. ... -
模拟Spring的 IOC 和 DI
2013-08-15 21:42 1145模拟Spring的 IOC 和 DI 1.BeanFactor ... -
spring任务调度
2013-07-18 17:10 1031spring任务调度 1,一个job对应一个处理类(bean ... -
获取ApplicationContext对象的几种方法
2013-01-29 10:47 5588方法一:在初始化时保 ... -
Spring 如何读取properties文件
2013-01-28 16:29 1541Spring 如何读取properties文件 ------ ... -
springSecurity的登录验证
2013-01-27 20:57 2470springSecurity的登录验证 一、Springse ... -
Spring事务配置的五种方式
2013-01-11 15:10 1043Spring事务配置的五种方式 参考1:http://w ... -
ehcache缓存的使用
2013-01-11 15:10 1031ehcache缓存的使用 1.ehcache缓存介绍:h ... -
在spring中如何处理oracle大字段
2013-01-10 12:45 1424在spring中如何处理oracle大字段 在spring ... -
spring事务管理
2012-12-06 14:34 673spring管理事务提交 http: ... -
spring中配置log4j
2012-11-10 16:30 1651log4j 和 slf4j slf4j和log4j用于做日志 ... -
spring每个包的详解
2012-11-09 16:53 977spring每个包的详解 spring.jar 是包含有完 ... -
当Spring管理Struts2时配置的scope="prototype"
2012-11-05 10:36 1099Spring scope="prototype&q ... -
web.xml配置加载spring
2012-11-05 10:36 1029web.xml配置加载spring 第一种加载applica ... -
Spring中配置数据源
2012-11-04 20:08 1055Spring中配置数据源 ... -
DelegatingActionProxy
2012-10-31 09:53 1598DelegatingActionProxy org.spri ... -
<aop:pointcut />
2012-10-29 17:00 1020<aop:config> <aop:po ... -
SSH项目解决乱码问题
2012-10-10 17:55 1219SSH解决乱码问题 第一种:利用spring的filte ... -
sping学习
2012-10-10 17:43 992spring知识点学习 、
相关推荐
容器通过读取XML、Java注解或Java配置类等方式,获取对象的定义信息,然后根据这些信息实例化对象并进行依赖注入。 **三、依赖注入(DI,Dependency Injection)** 依赖注入是IoC的一种具体实现方式,它允许对象在...
浅谈Spring IOC实例化Bean的三个方法 Spring IOC(Inversion of Control,控制反转)是Spring Framework中的一种核心机制,用于管理Bean的生命周期。实例化Bean是IOC的核心步骤之一,本文将详细讲解Spring IOC实例...
现在,我们来看如何运行这个简单的Spring IOC实例。首先,你需要创建一个Spring配置文件(如`springioc01.xml`),然后编写你的业务类和它们的依赖。接着,你需要一个启动程序来加载配置并初始化容器: ```java ...
开发者不再需要手动创建对象,而是声明对象及其依赖,然后由Spring容器负责实例化、初始化和管理这些对象。这样,对象之间的耦合度大大降低,因为它们不再直接引用彼此,而是通过容器获取依赖。 接下来,我们来看看...
本实例主要关注Struts与Spring的集成,特别是Spring的Inversion of Control (IoC)容器在其中的作用。 Struts是一个MVC(Model-View-Controller)框架,它主要用于处理用户请求,控制应用程序流程,并提供视图模板来...
Spring容器负责管理Bean的生命周期,并根据Bean之间的依赖关系进行实例化和装配。依赖可以通过属性注入、构造函数注入或方法注入等方式实现。 4. **Bean的作用域**:Spring提供了多种Bean的作用域,如单例...
IoC(Inversion of Control)是指在软件设计中,将对象实例的控制权从代码控制剥离到容器控制。这样做的目的是为了降低耦合度,提高系统的灵活性和可维护性。在 Spring 中,我们使用 XML 文件来配置对象实例的创建和...
在案例中,可能会有一个名为`beans.xml`的配置文件,其中定义了bean的实例化、属性配置以及它们之间的依赖关系。 2. **Bean的声明**:在`beans.xml`中,每个bean都通过`<bean>`标签进行声明,包括bean的ID、class...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一,它允许开发者将对象的创建和管理交给Spring容器来处理,从而使代码更加松耦合,更易于测试和维护。下面将详细介绍Spring IOC的基本概念、...
这种方式更符合JavaBean规范,使得对象可以在无依赖的情况下被实例化,但在使用前需要注入依赖。 3. **接口注入**:Spring提供了一种基于接口的注入方式,但相对较少使用。它需要定义一个接口,由Spring容器来实现...
这样,开发者可以更专注于业务逻辑,而无需关心对象的实例化、配置和组装。在 Spring 中,这种机制通过容器(ApplicationContext)实现,容器负责创建对象、管理对象间的关系,并根据需要注入依赖。 Spring 提供了...
5. **Bean的生命周期**:Spring容器管理Bean的整个生命周期,包括实例化、初始化、使用和销毁。开发者可以通过实现特定接口或使用注解来定制Bean的生命周期行为。 6. **自动装配**:Spring提供了一种自动装配Bean...
Spring通过反射机制来实现这一过程,比如在上述的`TestIOC`例子中,Spring能够根据类名动态地创建对象,并通过setter方法注入属性值,实现了对象的实例化和配置。 **依赖注入(DI)**有多种实现方式,包括构造器...
Spring会负责实例化、初始化和管理这个bean。 5. `Person.java`:这可能是一个简单的Java类,表示一个人,它可能会有一些基本属性,如姓名、年龄等。在Spring中,这类类可能作为依赖注入的实例。 6. `beans.xml`:...
这里,我们主要探讨的是Spring如何通过其IoC(Inversion of Control)容器来实例化Bean,并理解其背后的逻辑。 首先,我们要知道Spring IoC容器是通过XML配置文件、注解或Java配置类来管理Bean的生命周期。Bean的...
- **依赖注入(Dependency Injection, DI)**: Spring通过构造器注入、设值注入或者接口注入的方式,将对象的依赖关系以声明式的方式定义在配置文件或注解中,由Spring容器负责实例化和组装Bean。 - **AOP(面向切...
1. 定义Bean:在Spring配置文件中,通常使用XML格式或者注解的方式定义Bean,告诉容器需要管理哪些对象。 2. 容器初始化:Spring容器会读取配置文件并解析其中定义的Bean,然后在容器内部创建Bean的实例并管理它们。...
其不能被实例化,提供了一套IoC容器必须遵循的基本原则。 - `ApplicationContext` 是在 `BeanFactory` 的基础上,添加了更多功能的接口,如资源加载(`ResourceLoader`)、国际化消息处理(`MessageSource`)等。 ...
容器根据这些配置信息创建并管理bean,自动完成对象的实例化和依赖装配。 **依赖注入** 依赖注入是 IoC 的具体实现方式,它允许开发者在不修改代码的情况下改变对象之间的依赖关系。Spring 提供了构造函数注入、...
2. Bean的实例化:当需要使用某个Bean时,IOC容器会根据Bean的定义创建实例。可以是单例模式,也可以是多例模式。 3. 依赖注入:在实例化Bean的过程中,容器会根据定义的依赖关系,将其他Bean注入到当前Bean中,...