2015-01-19 2 views
0

Я пытаюсь перейти из H2 в базу данных памяти в mysql, и я включил compile("mysql:mysql-connector-java:5.1.6") в мой build.gradle после удаления зависимости H2. Я также поместите в моих application.properties:Gradle не распознает зависимость mysql

spring.datasource.url=jdbc:mysql://localhost:3306/mutibodb 
spring.datasource.username=xxx 
spring.datasource.password=xxx 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.jpa.hibernate.ddl-auto: create 

Однако, когда я восстановить, я получаю эту ошибку: http://pastebin.com/4cS9Dk0U Это та же ошибка, я получаю, если я не ставлю ни MySQL или h2 зависимость, что означает, что он не принимает его вообще.

Мой полный существующий код, который работает с базой данных H2 здесь: https://github.com/devdeep1987/MutiboProject/tree/master/MutiboServer

Не могли бы вы сказать мне, если есть шаг, который я пропустил.

Update: Мой класс CustomUserDetailsService является следующее:

@Service 
public class CustomUserDetailsService implements UserDetailsService { 
private UserRepository repository; 

private static final Logger logger = LoggerFactory.getLogger(CustomUserDetailsService.class); 
@Autowired 
public CustomUserDetailsService(UserRepository repo) { 
    this.repository = repo; 
} 

@Override 
public UserDetails loadUserByUsername(String name) throws UsernameNotFoundException { 
    logger.info("username:"+name); 

    User u = repository.findByUsername(name); 
    if (u == null) 
     throw new UsernameNotFoundException("User details not found with this username: " + name); 
    String username = u.getUsername(); 
    String password = u.getPassword(); 
    List authList = new ArrayList(); 
    authList.add(new SimpleGrantedAuthority("USER")); 

    //get the encoded password 
    //String encodedPassword = passwordEncoder.encode(password); 

    org.springframework.security.core.userdetails.User user = new org.springframework.security.core.userdetails.User(username, password, authList); 

    return user; 
} 

public boolean createUser(String username, String password) { 
    User existing = repository.findByUsername(username); 
    if(existing!=null) 
     return false; 
    User u = new User(); 
    u.setUsername(username); 
    u.setPassword(password); 

    repository.save(u); 
    return true; 
} 

private List getAuthorities(String role) { 
    List authList = new ArrayList(); 
    authList.add(new SimpleGrantedAuthority("USER")); 

    //you can also add different roles here 
    //for example, the user is also an admin of the site, then you can add ROLE_ADMIN 
    //so that he can view pages that are ROLE_ADMIN specific 
    if (role != null && role.trim().length() > 0) { 
     if (role.equals("admin")) { 
      authList.add(new SimpleGrantedAuthority("ROLE_ADMIN")); 
     } 
    } 

    return authList; 
} 
} 

и мой класс UserRepository является:

@Repository 
public interface UserRepository extends CrudRepository<User, Long>{ 

User findByUsername(String username); 
} 
+0

Это ваша проблема: 'Отсутствие квалификационного компонента типа [showcase.UserRepository], найденного для зависимости: ожидается как минимум 1 компонент, который квалифицируется как кандидат autwire для этой зависимости. Аннотации зависимостей: {} '. Выделите класс 'CustomUserDetailsService.class' и' UserRepository' – Jens

+0

Ok. Но он работал, когда я использовал H2. Так зачем же теперь жаловаться? Должен ли я размещать код этих классов здесь? – doomguy

+0

Да, пожалуйста, размещайте занятия. – Jens

ответ

0

Изменение версии весна-загрузки Gradle-плагин от 1,0. 2.RELEASE - 1.1.4. REELEASE исправляет это. Не знаю, почему.

Смежные вопросы