목록Dev/Java (5)
한다 공부
스프링 MVC를 적용하기 전에, 태초에는 MODEL 1 아키텍처 구조와 MODEL 2 아키텍처 구조라는 것이 있었다. ~ Model 1 ~model 1 아키텍처는 JSP와 JavaBeans만을 이용하는 웹 개발의 가장 단순한 구조이다. Bean은 자바에서의 객체를 의미하며, JavaBeans는 DB연동에 사용되는 자바 객체들인 DAO와 VO 클래스를 의미한다. 여기서는 JSP가 Controller와 View의 기능을 모두 담당한다. JSP는 HTML에 Java코드를 사용하게 할 수 있는 것이며, 자바코드는 으로 감싸야한다. 이를 스크립틀릿 태그라고 한다. 스크립틀릿으로 자바 코드를 감싸지 않으면, 에러는 나지 않지만 자바 코드가 그냥 화면에 텍스트로 뿌려진다.. 는 expression이라고 하는데, 안에..
비즈니스 로직을 구현하다보면 로깅, 예외처리, 트랜잭션 처리 등 같은 코드가 반복되는 경우가 있다. AOP는 이처럼 공통되는 로직을 묶어서 관심사를 분리하고, 코드의 응집도를 높이는 것이다. 낮은 결합도와 높은 응집도를 위해. 로깅, 예외처리, 트랜잭션 등의 반복되는 코드를 횡단 관심이라고 하고, 핵심 비즈니스 로직을 핵심 관심이라고 한다. ~ PointCut ~ 우선 포인트 컷을 설명하기 전에, 조인포인트에 대해 알아보자. 조인포인트는, 비즈니스 클래스가 가지고 있는 모든 비즈니스 메소드를 의미한다. 포인트컷은 필터링된 조인포인트, 즉 필터링된 비즈니스 메소드를 의미한다. 예를 들어 로깅 기능을 CRUD 중 C와 D에만 적용하고 싶다면, C와 D에 포인트컷을 지정해야 하는 것이다. xml에 이를 설정할..
최근에 스프링을 다시 공부할 일이 생겨서 공부하면서 배운 것을 요약 정리해봤다.. 아직 갈길이 멀구나.. ✨ ~ 스프링의 탄생 ~예전에는 EJB라는 것을 사용해서 개발을 했다. 하지만, 1. 복잡한 스펙으로 많은 학습 시간 필요, 복잡한 유지보수 2. EJB를 실행하기 위한 WAS의 비용 문제 (수천만원 이상..) 3. 메모리를 많이 사용하기 때문에 성능이 좋지 않고, 이를 개선하기 위한 여러 디자인패턴 숙지 필요 등등의 단점으로 EJB를 사용하던 시절은 개발자들에게 겨울이었다고 한다. 그러면서 2005년 개발자들의 요구가 충분히 반영된 오픈소스 프레임워크가 등장하면서 개발자들에게 봄이 찾아왔다. 그래서 이 오픈소스 프레임워크의 이름이 스프링이라고 한다. 스프링은 POJO를 사용한다. POJO란, Pla..
이번 글의 키워드 : Spring Security, 회원가입, Form에서 Controller로 데이터 전달이 안됨, Chat GPT 스프링 시큐리티를 사용해서 회원가입 기능을 구현해봅시다. 우선 완성된 디렉토리 구조는 다음과 같습니다. 우선 회원가입을 진행하기 위해, 어떠한 정보가 필요한지 생각해봅시다. 제가 필요한 정보는 사용자 아이디, 비밀번호, 이름, 전화번호, 등급 (vvip, vip .. ), 주소, 관리자인지 확인하는 정보 입니다. 이러한 사용자 정보를 Member라는 엔티티를 만들어 저장해봅시다 Member.java는 다음과 같습니다. package store.unibly.web.member; import lombok.Builder; import lombok.Getter; import lo..
스프링은 초기 설정이 아주 어려운데, 스프링부트의 출시로 손 쉽게 (?) 설정을 할 수 있게 되었다. 이러한 스프링 부트의 초기 설정을 해보자! 우선 프로그래밍 코드를 작성할 수 있는 IDE인 IntelliJ를 설치하자 https://www.jetbrains.com/ko-kr/idea/download/#section=windows 다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE www.jetbrains.com 여기서 다운받을 수 있으며, 학생 인증을 통해 Ultimate 버전을 무료로 사용할 수 있다. 그리고 JDK를 설치하자. 아무생각없이 JDK 19가 최신 버전이라 다운받았는데, 이후 Gradle과 버전 충돌이 났다. (Gradle이란? 일종의 빌드 자..