三步教你完成一个spring实例

来源:互联网 发布:java登录系统权限 编辑:程序博客网 时间:2024/04/29 18:59

创建一个Spring框架

  第一步:首先是导包

 

     libs/spring-beans-3.2.2.RELEASE.jar

     libs/spring-context-3.2.2.RELEASE.jar

     libs/spring-context-support-3.2.2.RELEASE.jar

     libs/spring-core-3.2.2.RELEASE.jar

     libs/spring-expression-3.2.2.RELEASE.jar

这些包都是在你下载好的spring文件中的libs文件中挑选这五个,

但是你发现在你执行的时候你会发现会出现错误,提示找不到什么类,那是你少导了一个日志包文件,

commons-logging-1.1.1.jar

只需这样就可以了

 第二部:创建servicedao接口类

并在serviceImpldaoImpl实现类里创建构造方法,更方便的看清执行的过程

public HelloDaoImpl() {

System.out.println("HELLO__WORD 构造方法");

}

@Override

public void sayHello() {

System.out.println("HELLO SPRING");

}

在这里值得注意的是必须在serviceImpl里写上dao的注入方法,即set方法,

要不然会出现bug

private HelloDao helloDao;

public HelloServiceImpl() {

System.out.println("HELLO 构造方法");

}

public void setHelloDao(HelloDao helloDao) {

System.out.println("控制反转:应用程序本身不在负责创建helloDao对象,而是由spring容器负责创建、管理、维护,这样控制权转移,称为反转。""可以通过依赖注入方式 注入该HelloDao对象");

this.helloDao = helloDao;

}

@Override

public void sayHello() {

helloDao.sayHello();

}

第三步:写spring配置文件

在这里可以提示一下,springstruts2不一样。spring的配置文件名称不一定非要写Spring.xml

创建spring文件的时候,如果不知道头文件怎么写的话,可以这样查找:

首先找到你的下载的spring版本文件夹:

F:\spring-framework-3.2.2.RELEASE-dist\spring-framework-3.2.2.RELEASE\docs\spring-framework-reference\html\index.jsp

在这个首页

配置元数据点进去就可以查看里面有配置文件的信息,

首先创建一个总的spring.xml文件

 <import resource="spring-dao.xml"/>

<import resource=spring-service />

 在创建spring-dao.xml 和 spring-service.xml

spring-dao.xml  

 <bean>

id="helloDaoImpl" class="www.csdn.spring01.dao.HelloDaoImpl" scope="singleton"></bean>

spring-service.xml

 <bean

 id="helloServiceImpl" class="www.csdn.spring01.service.HelloServiceImpl" scope="singleton" lazy-init="default">

   <property name="helloDao" ref="helloDaoImpl"></property>

  </bean>

这些名字都是有定义的,

属性的名字对应的是serviceImpl里的helloDao,这个ref所代表的是spring-dao里的id;是这样的关联

spring容器 

    bean 属性 

        id:  标识 唯一

        class: 

        scope:作用域   singleton  prototype  request session

        lazy-init:default=false ,false ,true  

           lazy-init结合scope=singleton使用

             scope="singleton" lazy-init="default" -->说明:容器已经加载就实例化对象

             scope="singleton" lazy-init="true" -->说明:容器已经加载当使用到该对象的时候,实例化该对象

 

这样一个简单的spring框架出来了

原创粉丝点击