springboot教程-IOC Controller的创建方式

SpringBoot通过扫描带有@Controller注解的类,并使用反射调用无参构造方法来实例化对象。在启动时,它会打印出构造方法的执行,例如在HelloCtrl类中的构造方法。这种机制允许开发者直接使用Controller类而无需手动创建实例。

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

提出问题

在之前的例子中,Controller类都是可以直接使用的,我们并没有手动创建该类的对象

那么 springboot 框架是如何创建 Controller 对象的?

默认构造方法

springboot框架,通过 默认构造方法无参构造方法)创建对象

这是 springboot 默认创建对象的方式

例子

创建下面Controller

@Controller
public class HelloCtrl {
    public HelloCtrl(){
        System.out.println("HelloCtrl()构造方法");
    }
    @RequestMapping("/hello")
    public String hello(@RequestParam("u_name") String username){
        return "hi.html";
    }
}

运行 springboot 主启动类,会打印下面内容:

HelloCtrl()构造方法

启动springboot时,会扫描类的注解,当扫描到 @Controller 时,会通过 反射方式,调用 无参构造方法 进行 实例化

底层实现

Object obj=Class.forName("top.malaoshi.controller.HelloCtrl").newInstance();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值