这里明明有两个UserDao的实现类,且实现类没有做任何处理,为什么没有出现老师视频里的错误
IUserDao接口类
package com.imooc.spring.ioc.dao;
public interface IUserDao {
}UserDao类
package com.imooc.spring.ioc.dao;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Repository;
//组件类型注解默认beanId为类名首字母小写
//beadId = userDao
@Repository
public class UserDao implements IUserDao{
public UserDao(){
System.out.println("正在创建UserDao:" + this);
}
}UserOracleDao类
package com.imooc.spring.ioc.dao;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Repository;
@Repository
public class UserOracleDao implements IUserDao {
public UserOracleDao(){
System.out.println("正在创建UserOracleDao:" + this);
}
}UserService类
package com.imooc.spring.ioc.service;
import com.imooc.spring.ioc.dao.IUserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
public UserService(){
System.out.println("正在创建UserService:" + this);
}
@Autowired
private IUserDao userDao;
public IUserDao getUserdao() {
return userDao;
}
// public void setUserDao(IUserDao userDao) {
// System.out.println("setUdao:" + userDao);
// this.userDao = userDao;
// }
}SpringApplication类
package com.imooc.spring.ioc;
import com.imooc.spring.ioc.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringApplication {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
// String[] ids = context.getBeanDefinitionNames();
// for(String id :ids){
// System.out.println(id+":"+context.getBean(id));
// }
UserService userService = context.getBean("userService", UserService.class);
System.out.println(userService.getUserdao());
}
}运行结果:

两个实现类被同时创建了
11
收起
正在回答 回答被采纳积分+1
1回答
Java工程师 2024版
- 参与学习 2053 人
- 提交作业 1490 份
- 解答问题 1316 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星