본문 바로가기

Programming/java5

[java] 자바에서 MS-SQL DB 접속 및 데이터 처리 (with Mybatis) Hello. #{Somebody}마이바티스 MSSQL 데이터 가져오기  안녕하세요!😎오늘은 답답한 SELECT 쿼리 날리는 대신, 마이바티스라는 멋진 친구를 이용해서 MSSQL DB에서 데이터를 가져오는 방법을 알아보려고 합니다. 😉 "왜 굳이 마이바티스를 써야 하냐고?" 혹시 순수한 JDBC 코드로 DB 연결하고 쿼리 날리고 결과 매핑하는 거 해보셨나요?아마 몇 번 하다 보면 '아이고, 의미 없다!' 싶을 거예요.반복되는 코드도 많고, SQL 쿼리랑 자바 코드가 섞여서 보기도 힘들고요. 😭 마이바티스는 이런 우리들의 고충을 싹 해결해 주는 아주 똑똑한 녀석이에요.SQL 쿼리를 XML이나 어노테이션으로 분리해서 관리할 수 있게 해주고,쿼리 결과도 우리가 원하는 자바 객체로 알아서 척척 변환해 줍니다.. 2025. 4. 5.
[java/spring] 컴포넌트스캔의 FilterType 옵션 Hello. #{Somebody}ComponentScan의 FilterType은 5가지 옵션이 있다 1. ANNOTATION : 기본값, 애노테이션을 인식해서 동작한다.   ex) org.example.SomeAnnotation 2. ASSIGNABLE_TYPE : 지정한 타입과 자식 타입을 인식해서 동작한다.   ex) org.example.SomeClass 3. ASPECTJ : AspectJ 패턴 사용한다.   ex) org.example..*Service+ 4. REGEX : 정규 표현식   ex) org\.example\.Default.* 5. CUSTOM : TypeFilter이라는 인터페이스를 구현해서 처리한다.   ex) org.example.MyTypeFilter   출처 : 김영한님 강.. 2024. 10. 5.
[tip] Spring Boot banner 생성 Hello. #{Somebody} Online Spring Boot Banner Generator (with FIGlet Fonts) 아래와 같이 Springboot 동작 시 로깅이 되는 것을 볼 수 있었는데,,--. ,--. ,--. | | | |,---. | |,---. ,---. ,--,--,--.,---. | |.'.| | .-. :| | .--'| .-. || | .-. : | ,'. \ --.| \ `--.' '-' '| | | \ --. '--' '--'`----'`--'`---' `---' `--`--`--'`----' .. 2024. 9. 9.
[java/spring] 객체 지향 설계의 5가지 원칙(SOLID) Hello. #{Somebody}클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP : 단일 책임 원칙 (single responsibility principle)한 클래스는 하나의 책임만 가져야 한다. - 중요한 기준은 변경. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것   예) UI 변경, 객체의 생성과 사용을 분리 OCP : 개방-폐쇄 원칙 (Open/closed principle)소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. - 다형성 활용 (인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현) - 클라이언트 Service가 구현 클래스를 직접 선택하게 될 경우에 구현 객체를 변경하려면 클라이언트 코드를 변.. 2024. 9. 2.
[java] Gradle dependencies 항상 최신 버전으로 적용 Hello. { #Somebody } gradle.build에서 dependencies(의존성 라이브러리)들을 항상 최신 버전으로 유지 개발 프로젝트에서 라이브러리를 만들어서 nexus 같은 repository(저장소)에 배포해서 사용하는 경우가 많습니다. 개발/테스트 단계에서 자체적으로 만든 라이브러리는 버그/기능 추가 등의 이유로 버전을 계속 올려야 하는데, 이때 해당 라이브러리를 참조하는 어플리케이션들은 모두 gradle.build에서 버전을 올려서 재빌드 해줘야 합니다. 수십 번/수백 번의 라이브러리 수정이 발생 할 수 있는 상황에서, repository에서 일일히 최신 버전을 확인 및 gradle.build의 버전 번호를 고쳐야 하는 작업은 꽤나 귀찮을 수 있습니다. (게다가 해당 라이브러리를 .. 2023. 10. 13.