1、编写IUserDao接口和对应的实现类UserDaoImpl:
package com.gx.dao;
import com.gx.model.User;
public interface IUserDao {
boolean insert(User user);
User selectUserByName(String name);
}
package com.gx.dao.impl;
import com.gx.dao.IUserDao;
import com.gx.model.User;
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;
}
}
2、编写IUserService接口和对应的实现类UserServiceImpl:
package com.gx.service;
import com.gx.model.User;
public interface IUserService {
boolean insert(User user);
User selectUserByName(String name);
}
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 javax.annotation.Resource;
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、配置applicationContext.xml
在 beans 属性内部最上部 添加配置:
<!--向 Spring 容器注册 @Autowired @Resource 注解,
当使用 <context:component-scan/> 后,就可以将 <context:annotation-config/> 移除了
也可以同时保留-->
<context:annotation-config/>
注意:只有配置这部分的行才可以引入注解的命名空间,否则报错。以上的配置隐式的注册了多个对注
释进行解析的处理器:AutowiredAnnotationBeanPostProcessor、
CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor等。
如果配置了 context:component-scan 后, context:annotation-config 就可以省略。这是因为在搞
版本的Spring中, context:component-scan 配置项其实也包含了自动注入上述processor的功能
<!--使用Filed注入(用于注解方式)-->
<bean id="userDao" class="com.gx.dao.impl.UserDaoImpl"/>
<bean id="userService" class="com.gx.service.impl.UserServiceImpl"/>
4、编写测试方法:
/**
* 使用Filed注入方式测试
* 注意:本测试对应为 XML配置Bean+@Autowired(@Resource)的情况@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);
}