괴발개발/Spring Framework

첨부파일 기능구현, 에러 UnsatisfiedDependencyException

moonday 2021. 8. 25. 00:25

어노테이션 @Service와 @AllArgsConstructor을 사용하고있었는데, 아래와 같은 에러내용

서블릿 [appServlet]을(를) 위한 Servlet.init() 호출이 예외를 발생시켰습니다.

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'boardController' defined in file [D:\중간경로생략\controller\BoardController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'boardServiceImp' defined in file [D:\중간경로생략\service\BoardServiceImp.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

문제였던 아래의 코드를

@Service
@AllArgsConstructor
public class BoardServiceImp implements BoardService {
    BoardDAO boardDao;
	private String uploadPath= "D:\\project_aaa\\portfolio_bbb\\uploadfiles";

	@Override
	public void insertBoard(TeacherVO user, BoardVO board, MultipartFile []fileList) throws Exception {
		if(user == null || board == null) {
			return ;
		}

해결방법

@AllArgsConstructor 을 지우고, @Autowired를 붙여서 아래와 같이 수정하면 해결.

@Service
public class BoardServiceImp implements BoardService {
	@Autowired
	BoardDAO boardDao;
	private String uploadPath= "D:\\project_aaa\\portfolio_bbb\\uploadfiles";

	@Override
	public void insertBoard(TeacherVO user, BoardVO board, MultipartFile []fileList) throws Exception {
		if(user == null || board == null) {
			return ;
		}
		board.setBoard_nickname(user.getTeacher_nickname());
		board.setBoard_reply_post(0);
		board.setBoard_type("free");