2 ошибки symbol при попытке подключить Spring Security

238
27 марта 2018, 01:10

При попытке подключить Spring Security по следующему коду https://github.com/proselytear/SpringSecurityApp проявилась 3 ошибки:

[ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /C:/Users/Tim/eclipse-workspace/springMVC-mybatis-postgresql-fbcda0e11b1addcac43be8813e16b8b703022591/src/main/java/com/core/newbie/impl/UserDetailsServiceImpl.java:[40,75] cannot find symbol symbol: method getUsername() location: variable user of type com.core.newbie.model.User [ERROR] /C:/Users/Tim/eclipse-workspace/springMVC-mybatis-postgresql-fbcda0e11b1addcac43be8813e16b8b703022591/src/main/java/com/core/newbie/impl/UserServiceImpl.java:[49,16] cannot find symbol symbol: method insetUser(com.core.newbie.model.User) location: variable userDao of type com.core.newbie.dao.UserDao [INFO] 2 errors [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE

User.java (брал изначально из https://github.com/rainningToSnow/springMVC-mybatis-postgresql, потом внес некоторые правки, попытавшись добавить связь с ролями; только с users в изначальном варианте работало):

package com.core.newbie.model;
import javax.persistence.*;
import java.util.Set;
public class User {
private Integer id;
private String userName;
private String password;
private Integer age;
@ManyToMany
@JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"),
        inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roles;
public Integer getId() {
    return id;
}
public void setId(final Integer id) {
    this.id = id;
}
public String getUserName() {
    return userName;
}
public void setUserName(final String userName) {
    this.userName = userName == null ? null : userName.trim();
}
public String getPassword() {
    return password;
}
public void setPassword(final String password) {
    this.password = password == null ? null : password.trim();
}
public Integer getAge() {
    return age;
}
public void setAge(final Integer age) {
    this.age = age;
}
public Set<Role> getRoles() {
    return roles;
}
public void setRoles(Set<Role> roles) {
    this.roles = roles;
}
}

UserDao.java:

package com.core.newbie.dao;
import com.core.newbie.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserDao extends JpaRepository<User, Long> {
    User findByUsername(String username);
}

UserService.java:

package com.core.newbie.service;
import com.core.newbie.model.User;
public interface UserService {
User getUserById(int userId);
User findByUsername(String username);
void insetUser(User user);
}

UserServiceImpl:

package com.core.newbie.service;
import com.core.newbie.dao.RoleDao;
import com.core.newbie.dao.UserDao;
import com.core.newbie.model.Role;
import com.core.newbie.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.Set;
@Service
public abstract class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Autowired
private RoleDao roleDao;
@Autowired
private BCryptPasswordEncoder bCryptPasswordEncoder;
@Override
public void insetUser(User user) {
    user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
    Set<Role> roles = new HashSet<>();
    roles.add(roleDao.getOne(1L));
    user.setRoles(roles);
    userDao.insetUser(user);
}
@Override
public User findByUsername(String username) {
    return userDao.findByUsername(username);
}
}

UserDetailsServiceImpl.java:

package com.core.newbie.service;
import com.core.newbie.dao.UserDao;
import com.core.newbie.model.Role;
import com.core.newbie.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashSet;
import java.util.Set;
public class UserDetailsServiceImpl implements UserDetailsService {
@Autowired
private UserDao userDao;
@Override
@Transactional(readOnly = true)
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
    User user = userDao.findByUsername(username);
    Set<GrantedAuthority> grantedAuthorities = new HashSet<>();
    for (Role role : user.getRoles()) {
        grantedAuthorities.add(new SimpleGrantedAuthority(role.getName()));
    }
    return new 
org.springframework.security.core.userdetails.User(user.getUsername(), 
user.getPassword(), grantedAuthorities);
}
}
UserActionTest.java:
package com.core.newbie.action;
import com.alibaba.fastjson.JSON;
import com.core.newbie.model.User;
import com.core.newbie.service.UserService;
import org.apache.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})
public class UserActionTest {
private static final Logger logger = Logger.getLogger(UserActionTest.class);
private UserService userService;

@Autowired
public void setUserService(final UserService userService) {
    this.userService = userService;
}
public UserService getUserService() {
    return userService;
}
@Test
public void test1() {
    final User user = userService.getUserById(1);
    logger.info(JSON.toJSON(user));
}
@Test
public void test2() {
    final User user = new User();
    user.setId(112);
    user.setAge(14);
    user.setPassword("12");
    user.setUserName("derrick-2");
    userService.insetUser(user);
    logger.info(JSON.toJSON(user));
}
}

Соединение к базе данных корректное. Помогите разобраться.

Структура проекта:

READ ALSO
Получение данных из Realtime Database Firebase

Получение данных из Realtime Database Firebase

Выполняю поиск по бд firebase, хочу получить Имя рецепта в Ингридиенты которого входит Молоко, яблоки Код:

182
Как запустить команду для cmd из под java

Как запустить команду для cmd из под java

Как запустить команду или программу в cmd из под Java? Помогите чем можете пожалуйстаВот у меня лежит файл Main

195
javafx ошибка в проекте

javafx ошибка в проекте

написал простенькую программу для самообучения, на javafxВозникает ошибка, прошу объяснить, что делаю не так и показать как исправить

179
Радиальное закрашивание background Android Studio

Радиальное закрашивание background Android Studio

Только учусь разрабатывать под Android, захотел сделать смену цвета фона при клике на кнопку посреди экранаИдея такова: 1) Я кликаю на кнопку...

185