-
JAVA Spring의 @SuppressWarnings 어노테이션JAVA&SPRING 2020. 6. 16. 18:16
✔ @SuppressWarnings 이란?
-
@SuppressWarnings 어노테이션은 컴파일 경고를 사용하지 않도록 설정해주는 것으로 한마디로 이클립스에서 노란색 표시줄이 나타내는 것 즉, 경고를 제외시킬 때 사용한다.
-
또한, 두 가지의 종류를 같이 사용할 때는
@SuppressWarnings({"unused", "unchecked"})처럼
객체 형식으로 묶어서 사용한다.
🔶 @SuppressWarnings("unused")
-
사용하지 않는 코드 또는 불필요한 코드가 있을 경우 경고를 억제시켜준다.
@SuppressWarnings("unused") private final Logger logger = LoggerFactory.getLogger(getClass());
🔶 @SuppressWarnings("serial")
-
@SuppressWarnings("serial")
은 Spring에서 개발하다 보면 VO(Value Object)에 implements Serializable과 같은 인터페이스를 구현한 것을 본적이 자주 있을 것이다.public class Member implements Serializable{ private static final long serialVersionUID = 1L; private String memberId; private String memberPass; private String memberEmail; ... }
-
위 상황에서 serialVersionUID를 누락시키면 노란색으로 경고가 나타나는데 이를 억제해주기 위해서
@SuppressWarnings("serial")
를 사용한다. -
하지만,
@SuppressWarnings("serial")
을 사용하는 것은 권장하고 있지 않기 때문에 serialVersionUID를 명시적으로 선언하여 처리하는 것이 좋다.
🔶 @SuppressWarnings("all")
@SuppressWarnings("all")
은 모든 경고를 억제시켜준다.
🔶 @SuppressWarnings("deprecation")
@SuppressWarnings("deprecation")
권장되지 않는 기능과 관련된 경고를 억제한다.
🔶 @SuppressWarnings("null")
@SuppressWarnings("null")
은 널(null) 분석과 관련된 경고를 억제한다.
🔶 @SuppressWarnings("unchecked")
-
@SuppressWarnings("unchecked")
은 미확인 오퍼레이션과 관련된 경고를 억제한다. -
📌 [IBM Knowledge Center에 SuppressWarnings 어노테이션 내부에서 사용할 수 있는 토큰 목록이 있다.]
(https://www.ibm.com/support/knowledgecenter/ko/SSRTLW_9.5.0/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm)
'JAVA&SPRING' 카테고리의 다른 글
JAVA 직렬화(Serializable)란? (0) 2020.06.17 -