1.先知道spring怎么用,先跑起来2.明白怎么关联的,这些是原理的问题,很多书都有讲的,基于JAVA的反射和动态Proxy,真正理解还是要看看spring的源码。

解决方案 »

  1.   

    (1)你到http://www.itcast.net/上下载黎活明的《Spring2.5视频教程》看看。前几讲就有你这几个问题的回答。
    (2)你看了很久关于Spring的书,还是没理解,可能有两种原因:(a)书没找对(b)基本功还没到位。找找原因呢。
      

  2.   

    其实也不一定要看Spring源码,要知道那可是很费时间的啊。
    有很多东西当你内功修炼到一定境界的时候,你就可以猜出它是为什么了。
      

  3.   

    基本上每种框架都会有一个引导工作的配置文件。applicationContext.xml就是spring工作的引导配置文件。spring会根据这个文件的配置,来确定加载哪些类,接收到请求后转发到哪去,引入哪些资源等等。
      

  4.   

    appilcationContext.xml这是Spring的核心配置文件,主要是在Spring容器启动的时候,通过解析这个配置文件分别创建名字为id,类型为class的实例对象,并存在一个Map里面, 每次你getBean的时候是从这个Map中拿的.!
    id,就是你创建出的对象的name,对应到那个私有Map的key, property是说你这个javaBean中有哪些属性需要注入的.! 属性是set/get后面的那个名字.!
    建议LZ先去找些Spring的教程看看吧
      

  5.   

    spring 主要分为Aop和Ioc(依赖注入) 我们程序员的话一般都是用依赖注入的 一层套一层的 用熟练的话就会觉得很容易的。多看点资料
      

  6.   

    bean 和 java 联系
    先看一个bean 
    <bean id="defaultLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"/>
    有id属性 与 class属性 sping是怎么做的呢?(大概做法 )
    Class.forName("org.springframework.jdbc.support.lob.DefaultLobHandler").newInstance()
    从而得到一个DefaultLobHandler对象
    而你是如何用的呢?applicationContext.getBean("defaultLobHandler"); 
    spring 的 上下文 对象就是一个HashMap 
    key 是你指定的 id 属性
    value是通过(包名(即路径).类名)反射取得的对象 
    getBean 里面就是 map里面的通过key取value
    这样取得的对象属性都是默认值,如果给属性赋值怎么办?
    <bean id="dataSource" class="org.springframework.jdbc.datasource.U***">
     <property name="username"><value>aaa</value></property>
     <property name="password"><value>bbb</value></property>
    </bean>
    指定property 与 value “注入方式”书上很明确sping和xml联系
    那这些配置sping 是怎么知道的呢?
    肯定要将这个xml读入内存 然后解析这个XML 然后反射出new出实例 填充属性
    可用ClassPathXmlApplicationContext 
    也可在web.xml中配置ContextLoaderListener