首页 新闻 搜索 专区 学院

Spring注入

0
悬赏园豆:5 [已解决问题] 解决于 2013-12-01 20:33
比如我有一个
public interface UserDao
{
public void saveUser(Object user) ;
}

public class UserDaoImpl implement UserDao{
public void saveUser(Object user) {
System.out.println("save");
}

public class UserServiceImpl
{
private UserDao userDao;//这边我想让Spring注解方式注入 其他的地方该怎么配置,麻烦把其他配置加一下。万分感谢
//。。。。。
}
@Service
public class UserService {

@Resource
private UserDao userDao;
}

比如这样,但 UserDao 和UserDaoImp该怎么写配置
 
问题补充:

就是想实现UserDao userDao =new UserDaoImpl();

学海无涯_小波的主页 学海无涯_小波 | 初学一级 | 园豆:162
提问于:2013-09-03 22:31
< >
分享
最佳答案
0

有两种方式

1种:

public class UserServiceImpl
{
    @Autowired                                //根据类型注入,不需要setter
    private UserDao userDao;

}

2,种:

public class UserServiceImpl
{
    
    private UserDao userDao;
    @Resource
    public void setUserDao(UserDao userDao){
        this.userDao=userDao
    }
}

 

收获园豆:5
Beyond-bit | 老鸟四级 |园豆:2824 | 2013-09-03 22:57

在public class UserDaoImpl implement UserDao{
public void saveUser(Object user) {
System.out.println("save");
}上面什么都不用写么?

学海无涯_小波 | 园豆:162 (初学一级) | 2013-09-04 06:14

我就问最后一个问题 private UserDao userDao; @Resource public void setUserDao(UserDao userDao){ this.userDao=userDao } 这样他会去找userDao但是在UserDaoimpl里

@Service("userDaoImpl")
public class UserDaoImpl implements UserDao 为什么他会找到

@Resource

private UserDao userDao; 

我就想问这个userDaos是怎么注入进去的

学海无涯_小波 | 园豆:162 (初学一级) | 2013-09-04 06:53

@学海无涯_小波: 你的代码格式一下撒、这样看着清楚、

@Component("userDao")                   //你需要加这个表面你的UserDaoImpl将通过注解实例化、
public class UserDaoImpl implement UserDao{
    public void saveUser(Object user) {
    System.out.println("save");
    }
}

切记你的spring还需要配置

<context:component-scan base-package="包名" />

 

包名:比如你的项目最小的包结构是com.test,如下写入

<context:component-scan base-package="com.test" />

Beyond-bit | 园豆:2824 (老鸟四级) | 2013-09-04 08:57

@学海无涯_小波: 

你要想知道如何注解进去的,你先要学习java的注解是怎么一回事、然后看看spring的源码你就知道了、

Beyond-bit | 园豆:2824 (老鸟四级) | 2013-09-04 08:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册