zoukankan      html  css  js  c++  java
  • Spring2.5注解实例+Junit4注解测试方法 全新时代

    Eclipse导入jar文件,spring-test.jar,spring.jar(版本2.5),junit-4.4.jar

    Spring的IOC注入的方式有:setter方式,构造函数方式,注解方式。

    注解方式可以在xml文件中对整个文件夹的bean配置,注入的时候通过注解标签调用,使代码更加简洁,易于维护。

    通过一个简单的例子+测试来说明:

    dao.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans
    	xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:aop="http://www.springframework.org/schema/aop"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:tx="http://www.springframework.org/schema/tx"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
    		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
    	<context:component-scan
    		base-package="org.zlex.spring.dao" />
    </beans>
    

     context:component-scan配置包的路径。

    AccountDao.java

    package org.zlex.spring.dao;
    
    import org.zlex.spring.domain.Account;
    
    public interface AccountDao {
    	/**
    	 * 读取用户信息
    	 * 
    	 * @param username
    	 * @return
    	 */
    	Account read(String username);
    }
    

     AccountDaoImpl.java

    package org.zlex.spring.dao.impl;
    
    import org.springframework.stereotype.Component;
    import org.springframework.stereotype.Repository;
    import org.zlex.spring.dao.AccountDao;
    import org.zlex.spring.domain.Account;
    
    @Component("accountDao")
    public class AccountDaoImpl implements AccountDao {
    
    	public Account read(String username) {
    		return new Account(username,"wolf");
    	}
    }
    

    @Component注解表示bean的名字为accountDao,可以写成其他的名字。

    @Repository注解作用同上,但是bean的名字同类名,方法名第一个字母小写。

    Test.java测试类

    package org.zlex.spring.test;
    
    import org.junit.After;
    import org.junit.Before;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.zlex.spring.dao.AccountDao;
    import org.zlex.spring.domain.Account;
    
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations={"classpath:dao.xml"})   
    public class Test2 extends AbstractJUnit4SpringContextTests {
      @Autowired
        AccountDao accountDao;
    	
      @Before
      public void setUp() throws Exception{
    	System.out.println("setUp ...");
      }
        @After
        public void tearDown() throws Exception{
        	System.out.println("tearDown ...");
        }
        
       @org.junit.Test
        public void findAll()
        {
        	Account account = accountDao.read("中国");
    		
    	System.out.println(account.getUsername());
    	System.out.println(account.getPassword());
       }
    
    }
    

     @Autowired自动注入注解标签。也可以通过@Resource(name="accountDao")来注入。

  • 相关阅读:
    接口 多态
    继承extends (特点、重写、覆盖、应用)抽象abstract(定义、特点、细节)
    0515 面向对象 类与对象、局部、成员变量、基本、引用类型、封装 private 和this 及应用
    Eclipse 快捷键
    Flutter Framework启动代码阅读
    Flutter Widget概览
    Flutter局部状态管理
    iconfont应用
    implicit_animations.dart阅读
    Flutter异常搜集方案
  • 原文地址:https://www.cnblogs.com/simpledev/p/3056513.html
Copyright © 2011-2022 走看看