newしたインスタンスに含まれるAutowiredを解決したい


SpringのAutowiredで困っているのでご教示ください。  
HogeClassはmainメソッドでnewを利用してインスタンス生成されます。この仕組みは変更できません。  
HogeClassではAutowiredを利用してサービスなどをDIしたいのですが、可能なのでしょうか。

main

[code]

    static void main(String...args) {
        HogeClass hoge = new HogeClass();
        hoge.execute()
    }
    
[/code]

HogeClass

[code]

    @Component
    public class HogeClass {
        @Autowired
        HogeService hogeService;
    
        public void execute() {
            hogeService.hogeMethod();
        }
    }
    
[/code]




HogeClass を修正できるのであれば、HogeClass 内で ApplicationContext を作成し、その中で DI
済みのオブジェクトを作ってはどうでしょうか。例えば次のような形です。

[code]

    public class HogeClass {
        public void execute() {
            try (ApplicatoinContext ctx = ...) {
                HogeComponent hoge = ctx.getBean(HogeComponent.class);
                hoge.execute();
            }
        }
    }
    
    @Component
    public class HogeComponent {
        @Autowired
        HogeService hogeService;
    
        public void execute() {
            hogeService.hogeMethod();
        }
    }
    
[/code]




HogeClass を修正できるのであれば、HogeClass 内で ApplicationContext を作成し、その中で DI
済みのオブジェクトを作ってはどうでしょうか。例えば次のような形です。

[code]

    public class HogeClass {
        public void execute() {
            try (ApplicatoinContext ctx = ...) {
                HogeComponent hoge = ctx.getBean(HogeComponent.class);
                hoge.execute();
            }
        }
    }
    
    @Component
    public class HogeComponent {
        @Autowired
        HogeService hogeService;
    
        public void execute() {
            hogeService.hogeMethod();
        }
    }
    
[/code]

