@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<User> 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<User> list=userService.findAll();
        System.out.println(list);
    }

我们也可以通过自定义参数来指定,@Service(“xxx”),注意观察参数变化

//在UserServiceImpl类中
@Service("userService")
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;
    @Override
    public List<User> 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<User> list=userService.findAll();
        System.out.println(list);
    }
  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dubbo是一种高性能、轻量级的开源Java RPC框架。@dubboservice是Dubbo框架中的一个注解,用于标记服务提供者的实现类。具体来说,@dubboservice注解可以用于标记一个类,表示这个类实现了某个接口,并且可以被Dubbo框架自动扫描到,注册为一个服务提供者。 @dubboservice注解有以下几个参数: 1. interfaceClass:服务接口类,必填参数。 2. version:服务版本号,可以填写多个版本号,用逗号分隔。 3. group:服务分组,可以填写多个分组,用逗号分隔。 4. delay:服务延迟暴露的时间,单位为毫秒,默认值为0。 5. executes:服务执行器的个数,即服务并发执行的线程数,默认值为0,表示不限制。 6. actives:服务的最大并发调用数,默认值为0,表示不限制。 7. timeout:服务调用超时时间,单位为毫秒,默认值为0,表示不设置超时时间。 8. retries:服务调用失败时的重试次数,默认值为2。 9. loadbalance:服务负载均衡策略,默认值为"random",可以设置为"roundrobin"、"leastactive"等。 10. async:是否异步调用服务,默认值为false。 11. onreturn:服务调用完成后执行的方法,可以是服务提供者的任意一个方法。 12. onthrow:服务调用出错后执行的方法,可以是服务提供者的任意一个方法。 下面是一个使用@dubboservice注解的示例: ```java @Service public class UserServiceImpl implements UserService { @Override @DubboService(version = "1.0.0", group = "user") public User getUserById(Long id) { // 查询用户信息的具体实现 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值