Как зарегистрировать бин во время выполнения в Spring Boot? - PullRequest
0 голосов
/ 19 апреля 2019

Я пробовал разные способы регистрации бина во время выполнения, он регистрируется, но страница wsdl не работает.Как я могу зарегистрировать этот бин во время выполнения?

@Bean(name = "test")
public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema commonSchema) {
        DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
        wsdl11Definition.setPortTypeName("testPort");
        wsdl11Definition.setLocationUri("/BillingWebService");
        wsdl11Definition.setTargetNamespace("http://spring.io/guides/gs-producing-web-service");
        wsdl11Definition.setSchema(commonSchema);
        return wsdl11Definition;
    }

Ответы [ 2 ]

0 голосов
/ 20 апреля 2019

Либо определите bean-компоненты в вашем main class (то есть классе, содержащем @SpringBootApplication), либо добавьте @ Configuration к классу, в котором вы определяете bean-компоненты: Eg -

@Configuration 
public class HelloWorldConfig { 

@Bean 
public HelloWorld helloWorld(){
   return new HelloWorld(); 
} 
}

или

@SpringBootApplication 
public class MyApplication { 
     @Bean    
      public String AppName(){ 
          return "SpringApp"; 
     } 
     public static void main(String[] args) {       
    SpringApplication.run(MyApplication.class, args); 
    }
}
0 голосов
/ 19 апреля 2019

Аннотируется ли этот класс @Configuration? Также, когда приложение запускается, вы видите какие-либо ошибки, связанные с тем, что этот бин не загружается?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...