본문 바로가기
반응형

Spring6

[SPRING] Tiles Framework 이란? (화면 레이아웃 라이브러리) Tiles Framework 이란?웹 화면을 각 영역으로 나눠서, 템플릿을 구성하기 쉽게 해주는 프레임워크이다.   Tiles Framework 환경 구성하기1. servlet-context.xml 설정 classpath:tiles-defs.xml  2. tiles-defs.xml 생성 및 설정  3. jsp file 생성 및 설정/views/layout/default_layout.jsp .. 2024. 7. 14.
[JAVA] 자바 로깅 비교 (Logger, Log4j, SLF4J, Logback, Log4j2) 로그(log)는 소프트웨어의 이벤트를 기록하는 것으로써, 소프트웨어의 동작상태를 파악하고 문제가 발생했을 때 이 동작 파악을 통해서 소프트웨어의 문제를 찾아내고 해결하기 위해 디자인 되었다. 즉, 소프트웨어의 디버깅이나 모니터링을 위하여 정보를 기록하는 곳에 사용되는데 기존의 Debugger나 println에 비해 로그는 다음과 같은 장점이 있다. 상활별 Level을 지정하여 Level별 메세지를 선택가능 응용 프로그램의 실행에 대한 흐름과 에러 확인 가능 프레임워크를 이용하여 간단하고 쉬운 사용환경 조성 가능 모듈 별로 유연하게 메세지 출력 가능 자유로운 출력 위치 및 다양한 출력 형식 지원 Java에서는 이러한 로그에 대해 여러 프레임워크가 존재한다. 로깅 프레임워크에는 slf4j, log4j,l l.. 2024. 3. 30.
[Mybatis] Mybatis 파라미터 ${}(Literal)과 #{}(bind)의 차이점 Mybatis 환경에서 XML 파일에 SQL문을 작성할 때, 변수를 처리하는 방식에는 Literal 방식과 Bind 방식이 있다. 보통은 SQL Injection 이슈로 인해 Binding 방식인 #{}을 권장하지만 필요한 경우 Literal 방식인 ${}이 필요한 경우도 있는데, 보안 측면에서 권장하는 방식이 아니므로 이 부분을 고려하여 사용해야 한다. ${parameter} 파라미터 바로 출력 해당 컬럼의 자료형에 맞추어 파라미터 자료형이 변경 SQL 인젝션 공격을 예방할 수 없어 보안 측면에서 권장하지 않음 (사용자 입력 파라미터 전달 시 사용 X) 테이블이나 컬럼명을 파라미터로 전달 시 사용하거나 파라미터를 문자열로 List로 가공한 후 전달 시 사용 하드 파싱이라고 하며 DB는 바뀌는 파라메터에.. 2024. 3. 30.
[JAVA] Lombok 활용하기(Annotation을 활용한 Getter, Setter 처리) Java 언어를 이용해 개발을 하다 보면 기계적으로 작성해야 하는 코드들(Getter, Setter, ToString 등)이 상당히 많은데, 그런 코드들을 자동화하여 코드 다이어트를 해주는 Java 필수 라이브러리가 Lombok이다. 설명 Lombok이란? 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리 Getter, Setter, Equlas, ToString 등과 다양한 방면의 코드를 자동완성 해준다 Lombok 장점 어노테이션 기반의 코드 자동 생성을 통한 생산성 향상 반복되는 코드 다이어트를 통한 가독성 및 유지보수성 향상 Getter, Setter 외에 빌더 패턴이나 로그 생성 등 다양한 방면으로 활용 가능 Lombok Annotation 종류 Annotation 설명 @Getter @Se.. 2024. 3. 30.
[SPRING] JPA(Java Persistence API)이란? JPA (Java Persistence API) 란 무엇인가? Java 객체와 관계형 데이터베이스 간의 매핑을 위한 API이다. EJB 3.0에서 하이버네이트를 기반으로 만든 새로운 자바 ORM (Object-Relational Mapping) 기술 표준이다. JPA의 접근 방식은 ORM(Object-Relational Mapping)을 구현하는 자바 표준 스펙이며, Java 개발자가 좀 더 객체지향 관점에서 개발할 수 있게 하고, 개발을 용이하게 해주어서 DB와 Java 간의 불일치 해소해준다. 개발자가 객체지향 프로그래밍 언어에서 사용하는 객체 모델과 관계형 데이터베이스의 테이블 간의 매핑을 자동 처리 MyBatis와 같이 SQL 문과 Java 코드를 연계하는 접근 방식이 아니라 Java 객체와 DB.. 2024. 3. 24.
[SPRING] 로그인 및 회원 관리(등록, 수정, 삭제) 기능 예시 ※ 로그인 및 회원 관리(등록, 수정, 삭제) 기능 [사용 테이블] CREATE TABLE bt_login_session ( session_id character varying(255) NOT NULL, user_id character varying(20) NOT NULL, user_ip character varying(20), user_agent character varying(255), create_date timestamp without time zone, expired_date timestamp without time zone ); CREATE TABLE bt_sys_user_mgt ( user_id character varying(20) NOT NULL, user_pwd character var.. 2024. 3. 3.
반응형