전체 글 35

Spring Boot 다시 공부하기 #2 - IoC와 DI, 생성자 주입 이해하기

지난 글에서는 Spring Boot가 시작되는 과정과 Bean, Spring Container, Component Scan​에 대해 공부했다.간단히 복습하면,Bean: Spring이 생성하고 관리하는 객체Spring Container: Bean을 생성하고 보관하며 관리하는 공간Component Scan: @Component, @Service, @Repository, @Controller 등이 붙은 클래스를 찾아 Bean으로 등록하는 과정그렇다면 한 가지 의문이 생긴다.Spring이 객체를 직접 만들어서 관리하는 이유는 무엇일까? 이 질문을 이해하기 위해 필요한 개념이 IoC(Inversion of Control)​와 DI(Dependency Injection)​이다. 1. 먼저 일반 Java에서 객체를 ..

springboot 2026.08.17

Spring Boot 다시 공부하기 #1 - Spring은 어떻게 시작될까? (eGovFrame과 비교하며)

Spring Boot를 배우긴 했지만, 프로젝트를 진행하면서 기능 구현 위주로 사용하다 보니 내부 동작 원리와 핵심 개념은 많이 잊어버린 상태였다.현재 일하고 있는 공공기관에서는 Java 1.6과 XML 기반의 전자정부프레임워크를 사용하고 있어, 최신 Spring Boot와 어떤 차이가 있는지 함께 이해하고 싶어 처음부터 다시 공부를 시작했다.집에서는 Java 21과 Spring Boot 환경으로 직접 실습하며, Spring Boot 프로젝트의 시작 과정과 Spring의 핵심 개념인 Bean과 Container를 중심으로 학습했다.1. Spring Boot 프로젝트 생성* IntelliJ에서 Spring Boot 프로젝트 생성* Java 21* Maven 사용프로젝트를 생성하면 가장 먼저 보이는 파일이 ..

springboot 2026.07.20

[git] git 정리

mac 유용 앱> iterm2> sourcetree  뒤로가기  cd -홈 cd~상위 cd.. 명령어 보기 git config --h상태 보기 git status (default)               git status -s (short)변경 상세 git diff삭제 rm -rf '파일명'제외처리 .gitignore터미널 초기화 cmd + k로그 git log커밋 메시지 git commit -m "커밋메시지" * 커밋 주의할 점 - 의미있는 단위. 해당하는 내용만 커밋하기  workflow - working directory   untracked  tracked : unmodified/ modified *git add(staging area로 보냄)- staging area      commit. ..

memo 2024.11.12

[oracle] 메뉴 계층쿼리

SYS_CONNECT_BY_PATH(MENU_NM,'>') --MENU_NM을 계층으로 사용, >로 구분NAVI -- 보기 쉽게 표시START WITH -- 시작 조건CONNECT BY PRIOR -- 연결조건ORDER SIBLINGS BY -- 같은 레벨일 때 정렬SELECT SUBSTR(SYS_CONNECT_BY_PATH (MENU_NM,'>') , 2) AS NAVI, A.*FROM 메뉴테이블 AWHERE SYS_ID=''AND USE_AT='Y'START WITH UPPER_MENU_ID IS NULLCONNECT BY PRIOR MENU_ID = UPPER_MENU_ID --상위메뉴IDORDER SIBLINGS BY SORT_ORDR; --정렬순서

memo/work 🫧 2024.08.01

[spring] Mybatis selectKey

SelectKey 속성 keyProperty : selectKey 구문의 결과가 셋팅될 대상 프로퍼티 keyColumn : 리턴되는 결과셋의 컬럼명은 프로퍼티에 일치. 여러개 컬럼을 사용하면 컬럼명의 목록은 콤마를 사용하여 구분 resultType : 결과 타입. 마이바티스는 string을 포함하여 키로 사용되는 간단한 타입을 허용 order : before또는 after로 세팅할 수 있음. Before로 설정할 경우 키를 먼저 조회하고 그 값을 Keyproperty에 세팅한 뒤 Insert 구문을 실행한다. After로 설정하면 Insert 구문을 실행한 뒤 selectKey 구문을 실행한다. sql 수행작업 중 Insert 된 이후에 알 수 있는 값 또는 생성된 값을 바로 가져와 Select 쿼리를 ..

memo/work 🫧 2024.02.18

[oracle] 달력 만들기

--날짜 생성 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS 현재일자 ,TRUNC(SYSDATE,'MM') AS 현재달첫날 ,LAST_DAY(SYSDATE) AS 현재달마지막날 ,TO_CHAR(LAST_DAY(SYSDATE), 'DD') AS 현재달마지막일 ,TO_CHAR(SYSDATE, 'DAY') AS 현재요일 ,NEXT_DAY(SYSDATE, '월') AS 다음월요일 FROM DUAL; --이번달 달력생성 SELECT TO_CHAR(TRUNC(SYSDATE,'MM') + LEVEL - 1, 'YYYY-MM-DD') ,TO_CHAR(TRUNC(SYSDATE,'MM') + LEVEL - 1, 'DAY') ,LEVEL FROM DUAL CONNECT BY LEVEL

memo/work 🫧 2024.02.06

[oracle] 오라클 정규식(REGEXP)

오라클 정규식 (Regular Expression) - 오라클 10g부터 사용 가능, 복잡한 쿼리문을 함수를 사용하여 간단하게 처리할 수 있다. 메타문자 설명 . 임의의 한 문자 ? 앞문자가 없거나 하나 있음 + 앞문자가 하나 이상 있음 * 앞문자가 0개 이상 있음 {m} 선행 표현식이 m번 발생 {m,n} 선행 표현식이 m번 이상 n번 이하 발생 [] 문자 클래스 [=] 문자 범위 [^] 부정 문자 클래스 ^ 문자열의 시작과 일치 $ 문자열의 끝과 일치 정규식 함수 함수명 설명 REGEXP_SUBSTR 일치하는 패턴의 문자열 반환 REGEXP_INSTR 일치하는 패턴의 시작 위치를 정수로 반환 REGEXP_LIKE 패턴과 일치하면 true, 일치하지 않으면 false 반환 REGEXP_REPLACE 일..

memo/work 🫧 2024.02.05

[sqld] sqld 정리 2과목

과목2 SQL 기본 및 활용 1장 SQL 기본 1절 관계형 DB 1. DB - 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것 - DBMS : 효율적인 데이터 관리 뿐 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고 필요시 데이터를 복구하기 위한 강력한 기능의 소프트웨어 2. 관계형 DB - 정규화를 통해 이상현상 및 중복 데이터 제거 - 동시성 관리와 병행제어를 통한 데이터 동시 조작 가능 3. SQL : RDB에서 사용하는 언어, 데이터 조회 및 신규 데이터 입력/수정/삭제 기능 제공 ♢ 종류 1) DML - SELECT, INSERT, UPDATE, DELETE (데이터 조작어) 2) DDL - CREATE,ALTER,DROP (데이터 정의어) - 데이터..

sql 2023.03.04