Micronaut框架之控制反转

当大多数开发人员想到控制反转(也称为Dependency Injection,从现在起被称为Dependency Injection)时,就会想到Spring框架。

Micronaut的灵感来自Spring,实际上,Micronaut的核心开发人员是以前为OCI工作的SpringSource / Pivotal工程师。

与Spring完全依赖于运行时反射和代理不同,Micronaut使用编译时数据来实现依赖注入。

Google的Dagger之类的工具也采用了类似的方法,该工具的设计首先考虑了Android。另一方面,Micronaut是为构建服务器端微服务而设计的,它提供了许多与Spring相同的工具和实用程序,但没有使用反射或缓存过多的反射元数据。

上述引用自Micronaut官网。

Micronaut Bean

Bean是一种对象,其生命周期由Micronaut IoC容器控制。该生命周期可能包括创建,执行和销毁。

public interface Engine { 
    int getCylinders();
    String start();
}

@Singleton
public class V8Engine implements Engine {
    public String start() {
        return "Starting V8";
    }

    public int getCylinders() {
        return cylinders;
    }

    public void setCylinders(int cylinders) {
        this.cylinders = cylinders;
    }

    private int cylinders = 8;
}

@Singleton
public class Vehicle {
    private final Engine engine;

    public Vehicle(Engine engine) {
        this.engine = engine;
    }

    public String start() {
        return engine.start();
    }
}

测试Bean的获取:

public static void main(String[] args) {
        BeanContext context = BeanContext.run();
        Vehicle vehicle = context.getBean(Vehicle.class);
        System.out.println("Engine==="+vehicle.start());
}

可以使用@Inject注入对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值