spring注解使用不当产生的一个Bug

本文通过一个简单的Controller和服务类示例,揭示了在Spring框架中,如果未正确使用注解,将导致@Autowired失效的问题。文章指出,仅当类上带有Spring注解时,Spring才会对该类进行扫描并使其他注解生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Controller 类文件:

public Controller {
    @Autowired
    private Service service;

   public void contro(){
        service.serv();
   }

   public static void main(String[] args){
     new Controller().contro();
   }
}

Service 类文件:

@Service
public Service {
   public void serv(){
        System.out.println("service ......");
   }
}

以上两个类皆在spring扫描的目录下。
既然如此,很正常的两个类怎么会隐藏着bug呢?
江湖高手肯定一眼就瞧出了此中玄机,在下就冒昧班门弄斧!
Bug因何而出呢?就先卖个关子,明天再来解答。

———-分界线

只有当类上有spring的注解,spring才会去扫描该类,同时该类下的其他注解才能生效,否则比如@Autowired不会生效,被注入的变量是null,那么令人讨厌的null异常就出现了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值