@Test
public void testFiledAnnotation(){
IUserService userService= (IUserService) context.getBean("userService");
//insert
User user=new User();
user.setName("Filed Insert");
user.setAge(34);
userService.insert(user);
//
User user1=userService.selectUserByName("Filed Select");
System.out.println(user1);
}
package com.gx.dao.impl;
import com.gx.dao.IUserDao;
import com.gx.model.User;
import org.springframework.stereotype.Repository;
//@Repository为定义DAO层Bean的注解,括号中传入的是 bean的名称
@Repository("userDao")//注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl
实例
public class UserDaoImpl implements IUserDao {
@Override
public boolean insert(User user) {
System.out.println("UserDaoImpl_insert :"+user);
return true;
}
@Override
public User selectUserByName(String name) {
System.out.println("UserDaoImpl_selectUserByName:"+name);
User user=new User();
user.setName(name);
user.setAge(33);
return user;
}
}
package com.gx.service.impl;
import com.gx.dao.IUserDao;
import com.gx.model.User;
import com.gx.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
@Service("userService")
public class UserServiceImpl implements IUserService {
//使用注解注入userDao
//@Autowired
@Resource(name = "userDao")
private IUserDao userDao;
@Override
public boolean insert(User user) {
return userDao.insert(user);
}
@Override
public User selectUserByName(String name) {
return userDao.selectUserByName(name);
}
}
3、在src下添加新的applicationContext_two.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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
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/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--配置Spring的扫描目录,同时也会注册@Autowired @Resource 等注解-->
<context:component-scan base-package="com.gx.dao,com.gx.service"/>
</beans>
4、编写测试类 TestFiledAnnotation:
package com.gx.test;
import com.gx.model.User;
import com.gx.service.IUserService;
import org.junit.Test;
import org.junit.runner.RunWith;
1、使用之前定义的 com.gx.model.PersonSetter
2、在Spring的配置文件applicationContext.xml上添加p名称空间
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)//让测试运行于Spring测试环境
@ContextConfiguration(locations = {"classpath:applicationContext_two.xml"})//配置
测试时使用的Spring配置文件,可以多个文件
public class TestFiledAnnotation {
/*
单个文件
@ContextConfiguration(locations=“classpath:applicationContext.xml”)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
多个文件
@ContextConfiguration(locations = { “classpath:spring1.xml”,
“classpath:spring2.xml” })
*/
@Autowired
private IUserService userService;
/**
* 使用Filed注入方式测试
* 注意:本测试对应为全注解方式
*/
@Test
public void test(){
//insert
User user=new User();
user.setName("Filed Insert");
user.setAge(34);
userService.insert(user);
//
User user1=userService.selectUserByName("Filed Select");
System.out.println(user1);
}
}