View Javadoc
1   package org.oxerr.spring.security.wechat.samples.helloworld;
2   
3   import org.springframework.beans.factory.annotation.Autowired;
4   import org.springframework.boot.SpringApplication;
5   import org.springframework.boot.autoconfigure.SpringBootApplication;
6   import org.springframework.boot.web.servlet.FilterRegistrationBean;
7   import org.springframework.context.annotation.Bean;
8   import org.springframework.core.Ordered;
9   import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
10  import org.springframework.validation.Validator;
11  import org.springframework.web.filter.CommonsRequestLoggingFilter;
12  
13  import com.foxinmy.weixin4j.model.WeixinAccount;
14  import com.foxinmy.weixin4j.mp.api.OauthApi;
15  
16  @SpringBootApplication
17  @EnableGlobalMethodSecurity(jsr250Enabled = true)
18  public class Application {
19  
20  	/**
21  	 * Writes the request URI (and optionally the query string) to the Commons Log.
22  	 *
23  	 * @return the filter registration bean for the {@link CommonsRequestLoggingFilter}.
24  	 */
25  	@Bean
26  	public FilterRegistrationBean<CommonsRequestLoggingFilter> commonsRequestLoggingFilterRegistrationBean() {
27  		FilterRegistrationBean<CommonsRequestLoggingFilter> registrationBean = new FilterRegistrationBean<>();
28  		CommonsRequestLoggingFilter requestLoggingFilter = new CommonsRequestLoggingFilter();
29  		registrationBean.setFilter(requestLoggingFilter);
30  		registrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE);
31  		return registrationBean;
32  	}
33  
34  	@Bean
35  	@Autowired
36  	public OauthApi oauthApi(WeChatProperties weChatProperties) {
37  		WeixinAccount weixinAccount = new WeixinAccount(weChatProperties.getAppId(), weChatProperties.getSecret());
38  		return new OauthApi(weixinAccount);
39  	}
40  
41  	@Bean
42  	public WeChatProperties weChatProperties() {
43  		return new WeChatProperties();
44  	}
45  
46  	@Bean
47  	public Validator configurationPropertiesValidator() {
48  		return new WeChatPropertiesValidator();
49  	}
50  
51  	public static void main(String[] args) {
52  		SpringApplication.run(Application.class, args);
53  	}
54  
55  }