초보 개발자지만 이클립스와 인텔리제이를 둘다 써본 경험(?)으로는 인텔리제이가 월등히

편한거 같다...

 

인텔리 제이를 쭉 쓰고싶지만 여러 사유로 사용하지못하는 상황에서

이클립스를 조금이나마 인텔리제이처럼 써보고자 글을 남긴다.

 

1. 인텔리제이처럼 단축키 설정

 

Help -> Eclipse Marketplace

 

Window -> Preferences -> General -> Keys

 

단축키 목록

https://github.com/IntelliJIdeaKeymap4Eclipse/IntelliJIdeaKeymap4Eclipse

 

 

 

2. 자동완성 설정

 

Window -> Preferences -> Java -> Editor -> Content Assist

위부분에 아래 문장 복사 붙여넣기

.qwertyuioplkjhgfdsazxcvbnm_QWERTYUIOPLKJHGFDSAZXCVBNM

 

 

3. Templates 설정(계속 업데이트 예정...)

 

Window -> Preferences -> Java -> Editor -> Templates

 

New 누르고 해당 내용 추가

 

[ sout ]

System.out.println(${word_selection}${});${cursor}

[ soutv ]

System.out.println("${var} = ${cursor}" + ${var});

[ iter ]

for (${iterable_type:elemType(iterable)} ${iterable_element:newName(iterable_type)} :  ${iterable:var(java.lang.Iterable)}) {
    ${cursor}
}

 

 

 

 

4. 문장 끝내기

 

위 설정 중 2번 자동완성 설정시 원하지 않는 어시스트가 될시 해당 문장을 완료하거나 또는

인텔리제이의 쉬프트+엔터 기능 역할을 대신하는 부분이다.

 

Window -> Preferences -> Java -> Editor -> Typing

 

'Spring' 카테고리의 다른 글

타임리프(Thymeleaf) 에러 (1)  (0) 2021.12.08
타임리프(Thymeleaf) th:field, 500 에러  (0) 2021.12.06

1.  

Description:
Field memberMapper in ~~~~ required a bean of type '~~~~' that could not be found.

Action:
Consider defining a bean of type '~~~~' in your configuration.

 

해결: Application.java 클래스에서

@MapperScan(value = {"mapper인터페이스 경로"})

애노테이션 사용

1. 에러 

org.thymeleaf.exceptions.templateprocessingexception: exception evaluating springel expression

 

org.springframework.expression.spel.spelevaluationexception: el1008e: property or field 'xxx' cannot be found on object of type 'java.util.arraylist'

 

2. 원인

 - 컨트롤러에서 뷰로 넘길때 List<MemberDTO> 처럼 리스트 형식으로 모델에 담아 넘겨 오류가 남

 

3. 해결법

 

(컨트롤러.java)

@GetMapping("/member/test.do")
   public String openJointestMemeber(@RequestParam(value="idx", required = false) Long idx, Model model){

// List<MemberDTO> memberDetail =  memberService.memberDetail(idx));  오류코드

// model.addAttribute("member", memberDetail); 
   model.addAttribute("member", memberService.memberDetail(idx)); // 수정된 코드

   return "member/test"; }

 

(타임리프.html)

- 방법 1

<p><span name="idx" th:text="${member.idx}"></span></p>

 

- 방법 2

<form th:action="@{updateGo.do}" th:object="${member}" method="post">
    <p><span name="idx" th:text="*{idx}"></span></p>
</form>

html 파일에서 form 에 아래와 같이 적용시 500에러가 뜨는 상황

정말 간단한건데 해결하는데 2시간 걸렸다 ㅠ

 

<form th:action="@{/member/register.do}" th:object="${member}" method="post">
   <div>
       <input type="text" th:field="*{id}" />
   </div>
</form>

 

원인

1. th:object="${member}" 부분의 member 객체가 컨트롤러에 없는 경우 아래와 같이 해결

 

public String openJoinMemeber(Model model){
   model.addAttribute("member",new MemberDTO());
   return "member/join";
}

 

2. return 페이지 오타

 

public String openJoinMemeber(Model model){
   model.addAttribute("member",new MemberDTO());
   return "member/join"; // member/join.do 라고 적어서 2시간 해멤 ㅠ 빨간색 글씨처럼 수정하면 해결
}

+ Recent posts