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
22
23
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 }