Ejecutar ApplciationRunner plazo sólo en el perfil dev

Kshitij Bajracharya:

¿Cómo se crean datos ficticios cuando se inicia la aplicación sólo en el perfil dev?

Estoy siguiendo este artículo para trabajar con perfiles de arranque primavera. Necesito crear ficticias datos cuando se inicia la aplicación, pero sólo en el perfil prog. ¿Cómo logro esto?

Mis implementa la clase ApplicationRunnery anula el runmétodo para crear los datos. He intentado utilizar la @Profile("dev")anotación como en el artículo, pero los datos se crea con independencia del perfil activo.

@SpringBootApplication
public class DemoApplication implements ApplicationRunner {

    @Autowired
    private UserService userService; //handles user saving

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Profile("dev")
    @Override
    public void run(ApplicationArguments arg0) throws Exception {
        User user = new User();
        user.setName("Dummy User");
        userService.save(user);
    }

}

En application.properties, tengo

spring.profiles.active=test

Un usuario maniquí debe crearse sólo cuando el perfil activo es devpero está siendo creado en testel perfil también.

Ken Chan

@Profiledeben ser marcados con @Beano @Componento su estereotipo (es decir @Serivce, @Controller, @Repositoryetc.)

Basta con cambiar a:

@SpringBootApplication
public class DemoApplication {

    @Autowired
    private UserService userService; //handles user saving


    @Profile("dev")
    @Bean
    public ApplicationRunner devApplicationRunner(){
        return arg->{
           User user = new User();
           user.setName("Dummy User");
           userService.save(user);
        };
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

El código de DEV ApplicationRunner sólo se ejecutará si el perfil DEV está habilitada como a través de application.properties:

spring.profiles.active=dev

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=204714&siteId=1
Recomendado
Clasificación