WFWeb2Application.java 2.8 KB
Newer Older
ibizdev's avatar
ibizdev committed
1 2 3 4
package com.ibiz.wfweb2;

import java.util.List;

ibizdev's avatar
ibizdev committed
5 6 7 8
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import com.fasterxml.jackson.databind.ObjectMapper;

ibizdev's avatar
ibizdev committed
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignClientsConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import com.ibiz.util.web.SearchContextHandlerMethodArgumentResolver;
import com.ibiz.util.serialize.DomainSerializerProvider;

ibizdev's avatar
ibizdev committed
29
@Slf4j
ibizdev's avatar
ibizdev committed
30
@SpringBootApplication(exclude = {
ibizdev's avatar
ibizdev committed
31

ibizdev's avatar
ibizdev committed
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
})
@Import({
    FeignClientsConfiguration.class
})
@ComponentScans({
        @ComponentScan(basePackages = {"com.ibiz.util", "com.ibiz.wfweb2"})
})
@EnableDiscoveryClient
@Configuration
@EnableFeignClients
@EnableConfigurationProperties(com.ibiz.wfweb2.WFWeb2Application.WebClientProperties.class)
public class WFWeb2Application extends WebMvcConfigurerAdapter{

    public static void main(String[] args) {
        SpringApplicationBuilder builder=new SpringApplicationBuilder(WFWeb2Application.class);
        builder.run(args);
    }

    @Bean
    public MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter(ObjectMapper objectMapper) {
    	objectMapper.setSerializerProvider(new DomainSerializerProvider()) ;
    	final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(objectMapper);
        return converter;
    }

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        super.addArgumentResolvers(argumentResolvers);
        argumentResolvers.add(new SearchContextHandlerMethodArgumentResolver());
    }

    @ConfigurationProperties(prefix = "app.service.web")
    @Data
    public class WebClientProperties {

    	private String tokenUrl ;

    	private String clientId ;

    	private String clientSecret ;

    	private String serviceUrl ;

    	private String serviceId ;

    }
}