Spring实例化

原创 2012年03月22日 11:04:06

对于Spring真的很迷茫,不明白,都说是属性注入,到底怎么注入的啊???

  没办法了 , 还是一点一点学吧!!!!! 本人纯属娱乐并为自己学过的东西做一下整理,如有错误,还望各位多多包涵,*^_^* 

 

1  在Eclipse中搭建环境

     File-->new--->JavaProject  新建java项目Spring实例化

     右键项目名-->new-->folder 新建bin文件夹    把commons-logging-1.0.4.jar,spring.jar两个包加载到bin下

     右键项目名-->Properties-->Java Build Path-->Libraries-->Add  JARs  加载2个文件 -->ok

2   新建2个文件夹 

        1--存放配置文件        2--存放java类

       1------------------ 

             右键项目名-->new-->SourceFolder 新建是src/java文件夹      注update勾必须打上

        2-------------------

             同上  新建是src/resouce文件夹

3   加配置文件  在src/resouce下

     1—————————applicationContext-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
        "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
	<bean id="formaterBean" class="com.neusoft.test.spring.impl.UpperFormat">
	</bean>
</beans>


 

6  在src/java下新建4个类

         1---Foramt接口      

package com.neusoft.test.spring.format;
public interface Foramt
{
         
   String format(String text);
   
  
}

     2---UpperFormat 类实现接口

package com.neusoft.test.spring.impl;

import com.neusoft.test.spring.format.Foramt;


public class UpperFormat implements Foramt
{
    public String format(String text) 
    {
        return text.toUpperCase();
    }
}


  3---LowerFormat 类实现接口

package com.neusoft.test.spring.impl;

import com.neusoft.test.spring.format.Foramt;


public class LowerFormat implements Foramt
{
  public String format(String text) 
{
    return text.toLowerCase();
}
}

 4---测试类

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

import com.neusoft.test.spring.format.Foramt;

public class Test
{


    public static void main(String[] args)
    {
      //第一部分  基础
     //第一种实例化  不常用
     XmlBeanFactory xmlBeanFactory = new  XmlBeanFactory(new ClassPathResource("applicationContext-web.xml"));
     Foramt format1 = (Foramt)xmlBeanFactory.getBean("formaterBean");     
     String temp1 = format1.format("teAAFAtt");
     System.out.println(temp1);
     
     //第二种实例化  多用 实现接口多  new String[]{"applicationContext-web.xml"}或 new String("applicationContext-web.xml)
     //new String[]作用:可以多个xml文件
     ApplicationContext applicationContext1 = new ClassPathXmlApplicationContext(new String[]{"applicationContext-web.xml"});
     Foramt format2 = (Foramt)applicationContext1.getBean("formaterBean"); 
     String temp2 = format2.format("hanCHAOb323");
     System.out.println(temp2);
     
     //第三种实例化  FileSystemXmlApplicationContext在文件系统中找路径D:\\eclipse\\basic\\HelloSpring\\src\\resource\\applicationContext-web.xml
     ApplicationContext applicationContext2=new FileSystemXmlApplicationContext(new String[]{"D:/eclipse/basic/HelloSpring/src/resource/applicationContext-web.xml"});
     Foramt  format3 =(Foramt)applicationContext2.getBean("formaterBean");
     String temp3=format3.format("testMecond3");
     System.out.println(temp3);

代码结构:

      
运行结果:

   `(*∩_∩*)′  娱乐一下了!!!!

2012-3-22 11:15:46 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext-web.xml]
TEAAFATT
2012-3-22 11:15:46 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@18e2b22: display name [org.springframework.context.support.ClassPathXmlApplicationContext@18e2b22]; startup date [Thu Mar 22 11:15:46 CST 2012]; root of context hierarchy
2012-3-22 11:15:46 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext-web.xml]
2012-3-22 11:15:46 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@18e2b22]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1abab88
2012-3-22 11:15:46 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1abab88: defining beans [formaterBean]; root of factory hierarchy
HANCHAOB323
2012-3-22 11:15:46 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@147c5fc: display name [org.springframework.context.support.FileSystemXmlApplicationContext@147c5fc]; startup date [Thu Mar 22 11:15:46 CST 2012]; root of context hierarchy
2012-3-22 11:15:46 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from file [D:\eclipse\basic\HelloSpring\src\resource\applicationContext-web.xml]
2012-3-22 11:15:46 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.context.support.FileSystemXmlApplicationContext@147c5fc]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1ac1fe4
2012-3-22 11:15:46 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1ac1fe4: defining beans [formaterBean]; root of factory hierarchy
TESTMECOND3



 




 

 

Spring实例化Bean的三种方式

Spring实例化Bean的三种方式分别是: 1,xml配置使用bean的类构造器 2,xml配置+factory类,使用静态工厂方法实例化 3,xml配置+factory类,使用实例工厂方法实...
  • u011554611
  • u011554611
  • 2015年01月05日 10:12
  • 686

Spring学习(十四)Spring Bean 的3种实例化方法介绍

Spring IoC容器如何实例化Bean呢? 传统应用程序可以通过new和反射方式进行实例化Bean。而Spring IoC 容器则需要根据Bean定义里的配置元数据使用反射机制来创建Be...
  • icarus_wang
  • icarus_wang
  • 2016年06月04日 23:20
  • 1143

spring装配Bean过程以及Bean实例化过程

简要说明Spring什么时候实例化bean,首先要分2种情况   第一:如果你使用BeanFactory作为Spring Bean的工厂类,则所有的bean都是在第一次使用该Bean的时候实例化 ...
  • mawming
  • mawming
  • 2016年08月23日 09:03
  • 3697

Spring的三种实例化Bean的方式

Spring提供了三种实例化Bean的方式。 使用类构造器实例化。不难看出,我们以前使用的就是该方式。上面的配置默认使用的是PersonServiceBean类的默认构造函数来实例化PersonSer...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2016年10月16日 20:44
  • 3480

Spring学习之实例化bean的三种方式

实例化bean的三种方式构造器实例化beanPerson.javapublic class Person { private String name; private Integer a...
  • u011726984
  • u011726984
  • 2015年04月26日 19:10
  • 3951

Spring原理(三)bean实例化

列表内容
  • wutian713
  • wutian713
  • 2016年11月23日 15:38
  • 909

spring内部创建对象的方式(或bean实例化方式)

spring内部创建对象的方式(或bean实例化方式) 方式一:采用默认构造函数创建对象(重点)     方式二:采用静态工厂的方式 首先提供一个工厂类 public class Hell...
  • b671900
  • b671900
  • 2014年01月15日 00:13
  • 1970

Spring Bean实例化过程(2)

Spring中bean的实例化的总的入口都是getBean方法 具体的实现是在AbstractBeanFactory中。 1.bean实例化的总体逻辑 getBean->doGetBea...
  • shuangyue
  • shuangyue
  • 2013年02月17日 17:16
  • 2632

SpringIOC 实例化Bean的流程

http://www.voidcn.com/blog/qq_16681169/article/p-5050775.html 在网上看一个Bean实例化过程的图,写的非常棒。转过来后,在最后面加了...
  • hotdust
  • hotdust
  • 2016年10月27日 12:22
  • 512

Spring 使用实例工厂方法实例化Bean

知识点介绍:         实例工厂的意思是获取对象实例的方法不是静态的,所以你需要首先new工厂类,再调用普通的实例方法。 【转载使用,请注明出处:http://blog.csdn.net/m...
  • ma_hoking
  • ma_hoking
  • 2014年12月20日 22:00
  • 2134
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring实例化
举报原因:
原因补充:

(最多只允许输入30个字)