-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
JpaRepository cannot be resolved to a type 가 발생합니다 .
19.02.21 00:20 작성 조회수 571
0
JpaRepository cannot be resolved to a type
이러한 에러가 자꾸 떠서 다음으로 넘어가질 못하는데요 ...
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
<parent> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.antMart.com</groupId>
<artifactId>springsecurityEducation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springsecurityEducation</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
jap랑 boot 는 다 설정했거던요 ..어디가 문젠지 모르겠어요 maven update계속 해도 마찬가지네요 ..
그리고 서비스파일에
private Collection<? extends GrantedAuthority> authorities() {
return Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));
}
위에 부분 import가 잘못된건지 아니면 먼가를 빠트렸는지 모르겠네요 다 확인해봐도 정확한 답ㅁ을 못찾겠습니다 .
서비스 파일입니다 .
import java.util.Arrays;
import java.util.Collection;
import java.util.Optional;
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.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
@Service
public class AccountService implements UserDetailsService {
@Autowiredprivate AccountRepositorys accountRepository;
public Account createAccount(String username, String password) {
Account account = new Account();
account.setUsername(username);
account.setPassword(password);
return accountRepository.save(account);
}
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Optional<Account> byUserName = accountRepository.findByUsername(username);
// 없으면 뱉어라
Account account = byUserName.orElseThrow(() -> new UsernameNotFoundException(username));
return new User(account.getUsername(), account.getPassword(), authorities());
}
private Collection<? extends GrantedAuthority> authorities() {
return Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));
}
}
interface 부분입니다 .
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
public interface AccountRepositorys extends JpaRepository<Account, Long> {
Optional findByUsername(String username);
}
runner 부분 입니다 .
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
public class AccountRunner implements ApplicationRunner {
@Autowired
AccountService accountService;
@Overridepublic void run(ApplicationArguments args) throws Exception {
Account account = accountService.createAccount("keesun","1234");
System.out.println(account.getUsername()+""+account.getPassword());
}
}
maven clean과 project clean 여러번 해서 한번 된거같은데 그떄는 Service쪽에서
Description:
Field accountRepository in com.antMart.com.AccountService required a bean of type 'com.antMart.com.AccountRepositorys' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.antMart.com.AccountRepositorys' in your configuration.
이러한 에러가 발생했습니다 ..STS 사용중이구요 어디가 잘못된건지 모르겠습니다 ;
답변을 작성해보세요.
0
답변 1