본문 바로가기

java || spring boot29

컴포넌트 스캔 @ComponentScan  이걸 설정 정보에 붙여준다. 1. @Component 애노테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록하는 기능을 가진다. 2. @ComponentScan(               basePackages = "haha.study",)위와 같이 basePackages -> 탐색할 패키지의 시작 위치를 지정한다지정하지 않으면 -> @ComponentScan 이 붙은 설정 정보 클래스의 패키지가 시작 위치!  수동 빈 등록 vs 자동 빈 등록-> 수동 빈이 자동빈을 오버라이딩 한다. -> 수동 빈 등록이 우선권을 가진다.    +)@Autowired-> @Component 붙은 클래스 내에서 의존성 주입을 자동으로 넣어 주는 애노태이션이다. -> 주로 생성자에서 사용한다. .. 2025. 4. 6.
디렉토리와 패키지 차이점 패키지 :  자바 파일들의 모음ex) service, DTO, 등등.. 디렉토리  : 자바 파일 이외 것들의 모음ex) 보통 src를 의미함 2025. 4. 4.
스프링이란? 좋은 객체 지향 어플리케이션을 개발할 수 있게 도와주는 프레임워크 2025. 3. 24.
optional에 관하여 optional 은 비싼 객체다 . 꼭 필요한 상황에서 반환타입에 사용한다optional 을 파라미터로 받지 않도록 한다. 분기케이스가 3개가 된다.opational을 반환받았다면 빠르게 해소한다. 1. 분기문을 만드는 IsPresent()-get() 대신 풍부한 api사용-> orElseGet() , orElseThrow() , ifPresent(), ifPresentOrElse() 2. orElse(), orElseGet(), orElseThrow() 의 차이숙지!! 2025. 2. 22.
추상이란? 추상에 여러가지 사전적 의미가 있겠지만 내가 생각하는 추상이란?중요한 정보는 남기고  덜 중요한 정보는 생략하여 버린다!  이것을 추상의 의미라고 생각한다.  추상화는복잡한 데이터와 복잡한 로직을 단수화하여 이해하기 쉽도록 한다. -> 읽기가 좋다! 코딩시 )추상화레벨에 맞춰서 짜고 있는건가 생각하기! 2025. 2. 22.
유용한 intellj 단축키 명렁어windowmacGenerate 메뉴를 호출ALT + Insertcmd + N메서드 만들기(선택한 부분)ALT + Ctrl + Moption + cmd + M다중커서  control + G  연속누르면 그다음 같은단어선택 2025. 2. 18.
Java에서 Enum + Bitmask 패턴 활용하기 ## 2. Bitmask만 사용한 경우 (가독성 낮음)Bitmask를 활용하면 여러 상태를 비트 연산(OR, AND 등)을 통해 효율적으로 관리할 수 있습니다.```javapublic class BitmaskExample { // 권한을 나타내는 비트 마스크 값 정의 public static final int FLAG_READ = 1 permissions = EnumSet.of(Permission.READ, Permission.WRITE); checkPermission(permissions, Permission.READ); checkPermission(permissions, Permission.WRITE); checkPermission(permission.. 2025. 2. 10.
BitSet 이란? in java BitSet이란?)자바에서 BitSet란 플레그를 비트로 계산할수 있도록 해주는 메서드 이다. BitSet으로 선언하면 BitSet의 크기는 동적으로 조절된다.따로 초기화시에 자바에서 size를 지정하지 않았다면 default size 는 8byte 이다. why? 사용?)보통 플래그를 int로 선언해서 int plag  = 0; 이라고 한다면 int값인 4byte가 소모된다. boolean 자료형의 경우 1byte(= 8bit)의 메모리가 필요한 반면, 비트로 저장하면 1bit만 사용한다. 동적 계산법 (DP : Dynamic Programming)에 유리boolean 배열 처럼 사용할 수 있다!!  선언)import java.util.*; BitSete bs = new BitSet();  선언할떄 위.. 2025. 2. 3.
묵시적형변환이란? 예) java 기준1. System.out.println("SON" + 11); -> SON11이런식으로 11은 묵시적형변환으로 문자로 취급되어 출력된다. 2. int a double b     a/b -> 실수값이 나옴위와 같이 자료형이 둘이 다를경우 자료형의 범위가 큰것을 기준으로 작은것이 바뀌게 된다int a -> double a 로 잠깐 변하여 계산되어진다a/b ->  실수/ 실수 로 실수값이 나오게 된다   작은 범위의 자료형이 큰 범위의 자료형 기준으로 변하게된다. 이걸 묵시적형변환이라고 한다. why? 큰범위 기준으로 자료형이 변하게 되는걸까?만약에 작은 범위의 자료형을 기준으로 바뀌게 된다면 범위가 안맞을수 있기 때문이다ex) int a =123;       double c=12312312.. 2025. 1. 16.
API 요청 하기 restTemplate 사용 - restTemplate - HTTPURLConnection 또는 HttpClient - Feign 클라이언트 - OkHttp - Retrofit   1.  spring 통합 -> restTemplate는 spring의 핵심 모듈에 포함되어 있어 spring의 다른 구성 요소와 잘 통합 2. sync, async 지원 -> 동기식 및 비동기식 http 요청을 모두 지원 3. 다양한 http 메서드 지원 -> GET, POST, PUT, DELETE 등 다양한 http 메서드 지원  4. 다양한 인코딩 및 디코딩 기능 ->  http요청 및 응답의 데이터를 다양한 형식으로 인코딩하거나 디코딩할 수 있다. ex)json, xml, form                                      .. 2024. 5. 10.
728x90