IT수업/JAVA PART2 51

IT 수업 15주차 (80) MVC 패턴 5 (커넥션 단일화 작업)

● 싱글톤패턴 적용하기 커넥션을 하나로 묶기 위해 각각의 레이어에 싱글톤패턴을 적용한다. 먼저 BookDaoImpl에 가서 public BookDaoImpl 을 private BookDaoImpl로 변경하고 코드를 추가시켜준다. 그리고 BookService로 가서 코드를 수정해준다. SessionDaoImpl로 가서 BookDaoImpl 처럼 추가해준다. UserServiceImpl 에서 위와 같이 수정해준다. UserDaoImpl 에서도 똑같이 코드를 추가해주고 public을 private로 수정해준다. UserServiceImpl 에서 수정해준다. 이렇게 하면 DAO의 싱글톤 패턴 적용이 끝이 난다. BookServiceImpl에서도 코드를 추가하고 private로 변경해준다. 그리고 BookCont..

IT수업/JAVA PART2 2024.04.04

IT 수업 15주차 (79) MVC 패턴 4

- 로그아웃 구현하기 UserServiceImpl 에서 isExisted가 출력되는지 확인해본다. Main 클래스에서 출력시킨다. 다시 UserServiceImpl로 돌아와서 !isExisted가 작동하는지 확인해본다. main 클래스 sessionid가 아닌 이상한 값을 넣으면 '현재 로그인된 상태가 아닙니다'라고 뜨게 된다. DB로부터 session 데이터를 삭제하기 위해서 sessionDaoImpl 에 Delete 함수를 작성해준다. 기존의 user1을 삭제하고 밑의 main 클래스를 실행해준다. SessionDaoImpl 에 selectAll을 추가시켜준다. 그리고 UserServiceImple에 가서 sessionId를 session테이블에 저장하는 것을 작성한다..

IT수업/JAVA PART2 2024.04.03

IT 수업 15주차 (78) MVC 패턴 3

user 컨트롤러를 작성해볼 것이다. (기존에 member라고 만들어놨기 때문에 기존에 만들어진 member를 user로 수정해준다.) 먼저 UserDto 클래스를 만들어 생성자(디폴트 생성자, 모든인자 생성자)와 toString, getter and setter 를 추가해준다. mysql을 실행해 bookdb 에 user테이블을 만들어준다. 그리고 UserDaoImpl 클래스에 들어가서 db와 연결시켜준다. Main 클래스로 들어가서 넣을 값을 작성하여 실행시켜준다. - 회원가입을 위한 패스워드 사용 패스워드를 사용하기위해 spring security crypto를 다운받아 넣어준다. 다운 받은 파일의 위치를 확인하고 해당 프로젝트의 properties에 들어가 외부J..

IT수업/JAVA PART2 2024.04.02

IT 수업 15주차 (77) MVC 패턴 2

앞에 페이지에 이어서 도메인을 만들어 볼 것이다. BookController에 if 문을 작성해준다. BookDto 부터 시작한다. Dto는 항상 toString, getter and setter, 디폴트 생성자를 항상 추가하여 줘야한다. BookController 클래스로 돌아와서 서비스번호에 맞게 1 파라미터받기, 2 입력값 검증(유효성체크), 3 서비스 실행, 4 뷰페이지로 이동을 작성해준다. 같은 클래스에 맨 밑에서 유효성 체크도 넣어준다. Main 클래스로 이동해서 bookDto의 값을 추가하여 출력해본다. book Dao를 작성한다. Mysql에 들어가서 bookdb를 만들고 book테이블 구조를 만들어 준다. bookDao에 INSERT를 작성해본다. - DB 연결하기 db를..

IT수업/JAVA PART2 2024.04.01

IT 수업 14주차 (76) MVC 패턴 1

● 프론트 컨트롤러 프론트 컨트롤러는 모든 HTTP 요청(클라이언트의 요청) 을 받아서 적합한 컨트롤러에 위임하는 역할을 한다. 즉, - 프론트 컨트롤러 서블릿 하나로 클라이언트의 모든 요청을 수행한다. - 해당 요청을 수행할 컨트롤러를 찾아서 호출한다. - 공통 로직을 처리 가능하다. (코드의 중복 제거) ● MVC 패턴 5계층 - 프리젠테이션 계층 (Presentation Layer) - 제어 계층 (Control Layer) - 비즈니스 로직 계층 (Business Logic Layer) - 퍼시스턴스 계층(Persistence Layer) -도메인 모델 계층(Domain Model Layer) FrontCo..

IT수업/JAVA PART2 2024.03.29

IT 수업 14주차 (75) 클래스 다이어그램

● UML UML(Unified Modeling Language)은 통합 모델링 언어로, 소프트웨어 개념들을 다이어그램으로 표현하기 위해 사용하는 시각적인 표기법이다. UML은 설계 논의 및 의사소통을 위해 작성하기도 하고, 전체 시스템의 구조 및 클래스의 의존성을 파악하기 위해 사용하기도 한다. - 정적 다이어그램 클래스, 객체, 데이터 구조와 이것들의 관계를 그림으로 표현하여 소프트웨어 요소에서 변하지 않는 논리적 구조를 보여준다. - 동적 다이어그램 실행 흐름을 그리거나 상태가 어떻게 변하는지 그림으로 표현하여 소프트웨어 실행 도중에 어떻게 변하는지 보여준다. - 물리적 다이어그램 소스 파일, 라이브러리, 데이터 파일 등의 물리적인 요소들과 이것들의 관계를 그림으로 표현해서 소프트웨어 요소에서 변하..

IT수업/JAVA PART2 2024.03.29

IT 수업 14주차 (74) 어노테이션

● 어노테이션이란? (Annotation) 어노테이션은 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석과 같은 의미를 가진다. ● 어노테이션의 역할 - 컴파일러에게 문법 에러를 체크하도록 정보를 제공한다. - 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공한다. - 런타임에 특정 기능을 실행하도록 정보를 제공한다. - 어노테이션은 @를 사용하여 작성하며, 해당 타겟에 대한 동작을 수행하는 프로그램 외에는 다른 프로그램에게 영향을 주지 않는다. ● 어노테이션의 종류 어노테이션은 크게 세 가지로 구분된다. 자바에서 기본적으로 제공하는 표준 어노테이션과 어노테이션을 정의하는 데 사용되는 메타 어노테이션, 마지막으로 사용자 어노테이션이 있다. ● 표준 어노테이션 자바에서 ..

IT수업/JAVA PART2 2024.03.29

IT 수업 14주차 (72) 함수형 인터페이스 2

● 제공되는 함수형 인터페이스들 - Function: apply 메서드를 가지고 있어서 하나의 인자(T)를 받아서 결과(R)를 반환하는 함수형 인터페이스입니다. Function func1=()->{}; 으로 하면 된다. - Supplier: get 메서드를 가지고 있어서 어떠한 인자도 받지 않고 결과만을 제공하는 함수형 인터페이스입니다. - Consumer: accept 메서드를 가지고 있어서 어떠한 인자를 받아서 결과를 반환하지 않는 함수형 인터페이스입니다. - Predicate: test 메서드를 가지고 있어서 어떠한 인자를 받아서 불리언 결과를 반환하는 함수형 인터페이스입니다. -UnaryOperator: apply 메서드를 가지고 있어서 하나의 인자를 받아서 동일한 타입의 결과를 반환하는 함수형 ..

IT수업/JAVA PART2 2024.03.28

IT 수업 14주차 (71) 함수형 인터페이스(Interface)

● 인터페이스 인터페이스란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미한다. 자바에서 추상클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함하지만 인터페이스는 오로지 추상 메소드와 상수만을 포함할 수 있다. - 인터페이스를 선언할 때는 접근 제어자와 함께 interface 키워드를 사용하면 된다. - 클래스와는 달리 인터페이스의 모든 필드는 public static final 이어야 하며, 모든 메소드는 public abstract 여야 한다. 이 부분은 모든 인터페이스에 공통으로 적용되는 부분이므로 이 제어자는 생략 가능하다. ● 함수형 인터페이스 함수형 인터페이스란 1개의 추상 메소드를 갖는 인터페이..

IT수업/JAVA PART2 2024.03.26