반응형

자바 14

[IDE] IntelliJ jdk 버전 변경

build.gradle의 컴파일버전이 명시되어 있을 경우 주석처리 해야 함 명시하지 않을 경우 인텔리제이는 제일 높은 jdk 버전을 사용한다고 함 sourceCompatibiliy, targetCompatibliity가 명시된 경우는 협업을 위해서 그런 경우임 A, B, C 3명의 개발자가 협업 프로젝트를 할 경우에 전부 jdk 버전을 강제로 통일하기 위해서 개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다. 틀린 점 있을 경우 댓글 부탁드립니다.

IT/development 2023.12.30

[jstl] selectbox 조건과 일치하면 선택값 유지(feat. 상세화면)

간만에 추억의(?) jsp로 화면단을 개발하게 되었고 그 중 jstl에서 많이 쓰는 기능인데 잘 생각이 나질 않아 예전 레거시 코드를 뒤져서 찾았고 다음을 위해 메모를 한다. 상세화면에서 공통코드의 값을 불러와서 selectbox에 뿌리는데 회원 가입상태 코드와 공통코드의 코드가 일치하면 selected하는 경험자들에겐 아주 익숙한 기능이다. ex) 회원테이블에 가입상태코드가 있고 이는 공통코드 테이블의 코드와 매핑이 되는 상황이다. 코드를 보면 이해가 될거다. Controller //Controller내의 모든 view에서 전부 쓸 수 있도록 아래처럼 @ModelAttribute로 선언을 했다. /** 가입상태 목록*/ @ModelAttribute("mberSttusList") private List ..

IT/development 2023.12.22

[Java] 추상 클래스, 추상 메소드 간단 예제

목차 사람이라는 부모 클래스가 있고 모든사람의 공통 기능인 걷기와 먹기는 일반 메소드로 정의 물론 걷기와 먹기도 얼마든지 사람마다 다르게 먹을 수 있지만 여기선 심플하게 설계 연봉정보는 사람마다 다르기에 추상 메소드로 만들어서 자식에서 재정의 해서 사용하도록 정의 모든 사람은 동일하게 먹고 걷지만 연봉정보는 다르다는 컨셉 AbstractPeople 😃 package abstract1; public abstract class AbstractPeople { /* 연봉정보 */ public abstract void salary(int money); public void walk() { System.out.println("걷는다."); } public void eat() { System.out.println("..

IT/development 2023.12.05

[springBoot] springBoot 실행 시 dataSource 제외

springBoot 실행 시 DB 연결을 기대하는데 DB연결이 필요없는 기능을 만들 때는 이조차도 귀찮다. 그럴 때 아래처럼 메인 메소드의 @SpringBootApplication에 exclude 옵션을 주면 된다. package study.springaoptest1; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @SpringBootApplication(exclude = {DataSourceAut..

IT/development 2023.10.14

[springBoot] 인터셉터를 통해 메뉴 접근 관리

시스템에서는 보안 때문에 로그인한 사용자의 메뉴 접근 범위를 제한해야 한다. 예를 들어 시스템관리자는 시스템관리 메뉴만 접근할 수 있어야 하고 급여관리자는 급여메뉴에만 접근할 수 있어야 한다. 인터셉터를 통해 아래처럼 구현했다. package kr.dev.common.interceptor; import kr.dev.cmmn.mapper.CmmnMapper; import kr.dev.cmmn.model.MenuVo; import kr.dev.cmmn.service.CmmnService; import kr.dev.user.model.EmpVO; import kr.dev.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springf..

IT/development 2023.09.24

[Java] 가변인자 사용(feat. String ... str)

java에서 parameter개수와 타입을 다르게 해서 같은 기능을 하는 메소드를 동일한 메소드명으로 사용할 수 있다.(오버로딩)@Slf4j public class Test { public void print(String str) { log.info("str = [{}]", str); } public void print(int num) { log.info("num = [{}]", num); } }하지만 parameter의 개수를 가변적으로 사용하고 싶을 땐?Test test = new Test(); //이렇게 호출하고 싶을 때.. test.print(1); test.print(1, 2); test.print(1, 2, 3); test.print(1, 2, 3, 4); test.print(1, 2, 3, ..

IT/development 2023.08.22

[java] list의 null 체크(ObjectUtils.isEmpty())

목차 NPE 😂 NPE(NullPointerException)는 java 개발하다 보면 정말 많이 만나는 에러 중 하나이고 Null값인 대상을 가지고 뭔가 하려고 하면 발생하는 에러다. 방지법은 공통모듈을 만들어 항상 null 체크를 하게끔 개발하는게 삽질을 줄이는 길일 듯 싶다. 아래와 같은 상황에서 NPE가 발생한다. userList에 아무것도 할당되지 않은 상태인데 사이즈를 측정하려고 하다니?(미친건가?) List userList = null; log.info("userList => {}", userList.size()); 스프링으로 개발 시 보통 데이터를 list에 담아 화면에 뿌리거나 API 형식으로 클라이언트에 내리거나 할텐데 list가 null이거나 빈값이 담기거나 사이즈가 0인 경우 등등 ..

IT/development 2023.02.12

[Java] Java bit 확인

목차 Java bit 확인할 경우 cmd 실행 후 아래 명령어 입력 위 이미지처럼 64-Bit라는 내용이 표시되면 64bit Java가 설치된 것임 아래처럼 나오면 32bit 설치된 것임 Error : This Java instance does not support a 64-bit JVM. Please install the desired version. 간단한 내용이지만 나중에 내가 보기 위해 기록 참조 : https://onedaystudy.tistory.com/79 [JAVA] JAVA BIT 확인하는 방법 Role이 바뀌면서 JAVA를 내가 설치하지 않고서버담당자들에게 설치를 요청하는 일이 빈번해졌다. 분명 64bit로 설치해달라고 요청했음에도 불구하고,종종 32bit로 설치해놓고는 64bit 설치..

IT/development 2022.11.24
반응형