问题:遇到
SocialAutoConfigurerAdapter
,
SocialProperties
和
SocialWebAutoConfigurerAdapter
类不存在
解决方法:
不想引入1.5版本的springboot的话只能自己按照源码重写(复制粘贴)
官方Github也是这样写的:
https://github.com/spring-projects/spring-social
SocialAutoConfigurerAdapter
源码
public abstract class SocialAutoConfigurerAdapter extends SocialConfigurerAdapter {
public SocialAutoConfigurerAdapter() {
public void addConnectionFactories(ConnectionFactoryConfigurer configurer, Environment environment) {
configurer.addConnectionFactory(this.createConnectionFactory());
protected abstract ConnectionFactory<?> createConnectionFactory();
SocialProperties源码
public abstract class SocialProperties {
private String appId;
private String appSecret;
public SocialProperties() {
public String getAppId() {
return this.appId;
public void setAppId(String appId) {
this.appId = appId;
public String getAppSecret() {
return this.appSecret;
public void setAppSecret(String appSecret) {
this.appSecret = appSecret;
SocialWebAutoConfiguration源码
@Configuration
@ConditionalOnClass({ConnectController.class, SocialConfigurerAdapter.class})
@ConditionalOnBean({ConnectionFactoryLocator.class, UsersConnectionRepository.class})
@AutoConfigureBefore({ThymeleafAutoConfiguration.class})
@AutoConfigureAfter({WebMvcAutoConfiguration.class})
public class SocialWebAutoConfiguration {
public SocialWebAutoConfiguration() {
private static class SecurityContextUserIdSource implements UserIdSource {
private SecurityContextUserIdSource() {
public String getUserId() {
SecurityContext context = SecurityContextHolder.getContext();
Authentication authentication = context.getAuthentication();
Assert.state(authentication != null, "Unable to get a ConnectionRepository: no user signed in");
return authentication.getName();
@Configuration
@ConditionalOnClass({SpringResourceResourceResolver.class})
protected static class SpringSocialThymeleafConfig {
protected SpringSocialThymeleafConfig() {
@Bean
@ConditionalOnMissingBean
public SpringSocialDialect springSocialDialect() {
return new SpringSocialDialect();
@Configuration
@EnableSocial
@ConditionalOnWebApplication
@ConditionalOnClass({SecurityContextHolder.class}