본문 바로가기

Programming/Spring20

[오브젝트와 의존관계] - 제어의 역전(IoC) IoC라는 약자로 많이 사용되는 제어의 역전(Inversion of Control)이라는 용어가 있다. 스프링을 통해 일반 개발자에게는 많이 알려진 용어이지만, 개념은 상당히 오래전부터 있었다. 1. 오브젝트 팩토리지금까지는 문제가 많은 DAO를 깔끔한 구조로 리팩토링 하는 작업을 진행했다. 그 과정에서 생략한 부분이 바로 클라이언트 UserDAOTest이다. UserDAOTest는 기존에 UserDAO가 직접 담당하던 기능, 즉 어떤 ConnectionMaker 구현 클래스를 사용할지를 결정하는 기능을 엉겁결에 떠맡았다고 볼 수 있다. UserDAO가 ConnectionMaker 인터페이스를 구현한 특정 클래스로 부터 완벽하게 독립할 수 있도록 UserDAO의 클라이언트인 UserDAOTest가 그 .. 2025. 5. 4.
[오브젝트와 의존관계] - 관계 설정 책임의 분리 이전에 UserDAO와 ConnectionMaker라는 두 개의 관심을 인터페이스를 통해 완벽하게 분리했음에도, 왜 UserDAO가 인터페이스뿐아니라 구체적인 클래스까지 알아야하는가라는 의문을 가졌다. 그 이유는 여전히 UserDAO에는 ConnectionMaker 구현 클래스를 사용할지를 결정하는 코드가 남아있기 때문이다.인터페이스를 통한 분리에도 불구하고 여전히 UserDAO 변경 없이는 DB Connection 기능의 확장이 자유롭지 못한데, 그 이유는 UserDAO안에 분리되지 않은 또 다른 관심사항이 존재하고 있기 때문이다. [오브젝트와 의존관계] - DAO의 확장이전는 데이터 엑세스 로직을 어떻게 만들 것인가와 DB 연결을 어떤 방법으로 할 것인가라는 두 개의 관심을 상하위 클래스로 분리하여.. 2025. 5. 3.
[오브젝트와 의존관계] - DAO의 확장 이전는 데이터 엑세스 로직을 어떻게 만들 것인가와 DB 연결을 어떤 방법으로 할 것인가라는 두 개의 관심을 상하위 클래스로 분리하여 학습을 진행하였다. 이 두 개의 관심은 변화의 성격이 다르고, 그것은 변화의 이유와 시기, 주기 등이 다르다는 것을 의미한다.이전 관심사의 분리에 대해서 기억이 나지 않는다면 아래 포스팅을 확인하여 한 번 더 어떻게 분리를 하였는지 확인할 수 있다. 오브젝트와 의존관계 - 관심사의 분리지난 문서에서는 DAO, Data Access Obejct란 무엇인가. 그리고 과정은 어떻게 되는 가에 대해서 알아보았습니다.지난 문서를 다시 확인하고 싶으시다면 아래 링크를 클릭 하시면 DAO에 대해서 다시 같lifeisstudy-hong.tistory.com 오늘은 DAO의 확장을 통해.. 2025. 5. 3.
[오브젝트와 의존관계] - 관심사의 분리 지난 문서에서는 DAO, Data Access Obejct란 무엇인가. 그리고 과정은 어떻게 되는 가에 대해서 알아보았습니다.지난 문서를 다시 확인하고 싶으시다면 아래 링크를 클릭 하시면 DAO에 대해서 다시 같이 학습할 수 있습니다. 오브젝트와 의존관계 - DAO개발 1년차. 요즘 기본기와 기초가 많이 부족한 거 같다는 생각을 많이한다. 누구는 그렇게까지 깊게 공부하지 않아도 GPT가 다 해준다라는 속 편한 말을 하는 직장 동료도 있지만 꾸준히 하다보lifeisstudy-hong.tistory.com오늘은 지난 학습 때 들었던 의문점인 데이터베이스가 변경되게 된다면 그 수 많은 기능에 대한 Connection을 전부 변경해줘야 하나? 라는 의문에 대해 관심사를 분리함으로써, 데이터베이스 연결과 기능 .. 2025. 5. 3.
[오브젝트와의존관계] - DAO 개발 1년차. 요즘 기본기와 기초가 많이 부족한 거 같다는 생각을 많이한다. 누구는 그렇게까지 깊게 공부하지 않아도 GPT가 다 해준다라는 속 편한 말을 하는 직장 동료도 있지만 꾸준히 하다보면 GPT보다는 덜 하겠지만 스스로가 뿌듯해지는 순간이 오지 않을까하여 기본기를 다지기 위해 다시 공부를 하려고 한다. 오늘 처음 공부할 부분은 DAO ( Data Access Object ) 이다. 1. DAO ( Data Access Object )DAO는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트로, DB와 직접적인 관계를 가지고 있다고 생각하면 된다. 1.1. DAO의 수행 절차데이터베이스 연결을 위한 Connection을 가져온다.SQL을 담은 Statement ( 또는 pr.. 2025. 5. 3.
[Spring] 파일 업로드 [Spring] AOP, 관점 지향 프로그래밍[Spring] Session, 세션[JSP] 쿠키와 세션 - 세션[JSP] 쿠키와 세션 - 쿠키[JSP] 내장 객체[JSP] GET과 POST[JSP] 태그[JSP] 서버와 클라이언트👨‍💻웹 프로그래밍이란?- 웹 프로그래밍이란, 웹 어플리케이션을hong-study.tistory.com일반 업로드파일 업로드 방식에는 크게 3가지 방법이 존재한다.cos.jar 이용 ( JSP 에서 사용 )commons-fileupload 이용 : 스프링에서 가장 일반적으로 많이 활용 ( 서블릿 스펙 3.0 이전, 이후 모두 사용 가능 )서블릿 3.0 이상에서 부터는 자체적인 파일 업로드가 지원됌Commons-fileupload를 이용한 방식1. 준비사항일반 업로드파일 업로드.. 2024. 5. 26.
[Spring] AOP, 관점 지향 프로그래밍 [Spring] Session, 세션[JSP] 쿠키와 세션 - 세션[JSP] 쿠키와 세션 - 쿠키[JSP] 내장 객체[JSP] GET과 POST[JSP] 태그[JSP] 서버와 클라이언트👨‍💻웹 프로그래밍이란?- 웹 프로그래밍이란, 웹 어플리케이션을 구현하는 행위입hong-study.tistory.comAOP, Aspect-Oriented-ProgrammingAOP란 관점 지향 프로그래밍으로, 더욱 객체 지향답게를 의미한다.공통코드, 개별코드(비즈니스 로직)을 분리해서 작성한다.java의 공통 기능을 부모클래스로 정의하고 상속 관계롤 사용한다.기존 코드를 수정하지 않고, 외부에서 원하는 기능에 접근하여 결합AOP의 용어Target : 개발자가 작성한 Service 클래스Joint Point : Targ.. 2024. 5. 26.
[Spring] Session, 세션 [JSP] 쿠키와 세션 - 세션[JSP] 쿠키와 세션 - 쿠키[JSP] 내장 객체[JSP] GET과 POST[JSP] 태그[JSP] 서버와 클라이언트👨‍💻웹 프로그래밍이란?- 웹 프로그래밍이란, 웹 어플리케이션을 구현하는 행위입니다. - 웹 어플리케이션hong-study.tistory.com세션에 대한 설명과 내용은 이전 JSP를 공부할 때 설명을 해놨기에, 참고하면 된다.Connectionless Protocol비연결형 프로토콜은 한 네트워크 끝점이 다른 네트워크 끝점에 단순히 메시지를 보내는 사전 합의 없이 두 네트워크 끝점 간의 통신을 의미합니다. 송신 측에서 장치는 수신 측 장치가 준비되었는지 확인하기 전에 데이터 단위를 전송합니다.이 유형의 프로토콜은 대부분의 개방형 인터넷 전송을 설명하지만.. 2024. 5. 26.
[Spring] RestAPI @RestController기존의 @Controller는 return에 Model을 담아서 JSP에 전달하는 방식으로 사용헀다.@RestController Annotation은 Return에 처리하는 데이터를 조금 다른 타입으로 처리하는 형식이다.즉, 객체(데이터)를 반환할 수 있고 객체(데이터)를 받을 수도 있다는 뜻이다.비동기 요청 전용 컨트롤러@RequestMapping 으로 들어오는 요청을 받아들이는 것은 동일하지만 Return의 결과는 View Resolver가 아니라 요청한 화면으로 리턴된다.@RestController 기본 준비사항Ajax 사용 준비사항 ( Json 라이브러리 다운 )JSON 은 자바스크립트 객체로 구성된 데이터이다.자바스크립트 객체 형태의 문자열인 셈이다.{ } 를 이용한다.. 2024. 5. 26.
[Spring] MyBatis Spring 프레임워크에서 MySQL 연결방법 [Spring] JDBC ( MySQL )[Spring] DAO 객체의 구조[Spring] Controller 객체 구현[Spring] JSP에 스프링 조합하기[JSP] Action Tag, 액션 태그[JSP] 예외 페이지[JSP] 쿠키와 세션 - 세션[JSP] 쿠키와 세션 - 쿠키[JSP] 내장 객체[JSP] GET과 POST[JSP]hong-study.tistory.comSpring 프레임워크에서 Oracle Database 연결방법 [Spring] JDBC - OracleDB[Spring] JDBC ( MySQL )[Spring] DAO 객체의 구조[Spring] Controller 객체 구현[Spring] JSP에 스프링 조합하기[JSP] Action.. 2024. 5. 26.
반응형