Spring注解扫描器管理bean

        实际项目如果很大就会出现大量的配置,我们使用扫描器可以解决这个问题,扫描器扫描带有@Controller, @Service,@Repository, @Component的类。

@Controller:控制层的类

@Service:服务层的类

@Repository:数据层的类dao

@Component:无法分层的类

以上注解标注的类的bean的id默认是类名的首字符小写,一旦设置注解的名字,默认名失效

@Service("aaa")
//@Component("aaa")
public class UserServiceImpl implements UserService {
    @Autowired
    @Qualifier("userDaoImpl")
    private UserDao userDao;

    @Override
    public void save() {
        userDao.save();
    }
}

配置:


    
    


// 测试
public class TestSpring {
    @Test
    public void test2() {
        // 初始化spring容器
        ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
        // 获得bean
        // UserService userService = (UserService) context.getBean("userServiceImpl");
        UserService userService = (UserService) context.getBean("aaa");
        userService.save();
    }

}

你可能感兴趣的:(java)