package dev.elaine.springlab.boot;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

public final class MiniBootSample {
    private MiniBootSample() {}

    public static String run(Class<?> primarySource) {
        try (AnnotationConfigApplicationContext context =
                     new AnnotationConfigApplicationContext(primarySource)) {
            return context.getBean("applicationName", String.class);
        }
    }

    @Configuration(proxyBeanMethods = false)
    public static class DemoConfiguration {
        @Bean
        String applicationName() {
            return "最小启动器";
        }
    }
}

