@Service指定参数与不指定参数的细节问题

@Service指定参数与不指定参数的细节问题
【@Service指定参数与不指定参数的细节问题】原理:@Service(“userService”) , 它里边的参数就是xml文件中的bean id=userService,如果不指定,相当于 bean id=com.mooc.service.impl.UserServiceImpl
一般情况我们采用@Service注解的时候,不用这样@Service(“userService”)指定的,
因为默认是当前类的首字母小写,比如下边所示

//在UserServiceImpl类中 @Service public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Override public List findAll() { System.out.println(userDao); return userDao.findAll(); } }

//在单元测试中,调用Service对象 @Test public void Test(){ ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); UserService userService=(UserService) context.getBean("userServiceImpl"); List list=userService.findAll(); System.out.println(list); }

我们也可以通过自定义参数来指定,@Service(“xxx”),注意观察参数变化
//在UserServiceImpl类中 @Service("userService") public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Override public List findAll() { System.out.println(userDao); return userDao.findAll(); } }

//在单元测试中,调用Service对象 @Test public void Test(){ ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); UserService userService=(UserService) context.getBean("userService"); List list=userService.findAll(); System.out.println(list); }

    推荐阅读