본문 바로가기

java7

스프링 입문 - 회원 관리 예제, 백엔드 개발 비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터가 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 domain 패키지를 만들고 Member class를 생성한다... 2022. 1. 19.
스프링 입문 - 스프링 웹 개발 기초 정적 컨텐츠 정적 컨텐츠 입니다. 정적 컨텐츠 방식은 resources의 static폴더안의 html 파일을 그대로 웹브라우저에 반환한다. MVC와 템플릿 엔진 HelloController 부분이다. @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model){ model.addAttribute("name", name); return "hello-template"; } MVC와 템플릿 엔진 방식은 Controller에서 hello-template을 리턴하고, viewResolver(화면과 관련된 해결자, 뷰를 찾아주고 템플릿 엔진에 연결시켜줌)가 hello-template으로 이동하여 템플릿 엔.. 2022. 1. 18.
Spring(진짜 시작.) 오늘부터 김영한 팀장님 인프런 스프링 입문 - 스프링 기본 - 스프링 백엔드 MVC 1편인가 쭉 들을 예정 스프링은 왜 들어도 이해가 안될까 프로젝트 생성 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io Project : Maven -> Gradle로 많이 갈아타는 추세기 때문에 Gradle 선택 Spring Boot : SNAPSHOT은 현재 개발중이라는 뜻으로 스냅샷이 아닌 가장 최신의 버전 선택 Project Metadata는 본인 마음대로 Dependencies가 중요한데 Spring Web이랑 html 파일을 생성해주는 Thymeleaf를 ADD 한다. Generate를 누르면 zip 파일을 다운받고 이 zip 파일을 원하는 폴더에 넣고 in.. 2022. 1. 16.
객체지향 설계 5원칙과 POJO 오늘도 퇴근하고 JAVA Spring 강의를 들었다. 좋은 소프트웨어 설계를 위해서는 결합도(coupling)은 낮추고 응집도(cohesion)는 높여야한다. 결합도 모듈(클래스)간의 상호 의존 정도를 나타내는 지표로써 결합도가 낮으면 모듈간의 상호 의존성이 줄어들어서 객체의 재사용 및 유지보수가 용이하다. 응집도 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성으로 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져, 재사용 및 유지보수가 용이하다. 객체지향 설계 5원칙 1. SRP(Single Responsibility Principle) 단일 책임 원칙 어떠한 클래스를 변경하는 이유는 한가지 뿐이어야 한다. 2. OCP(Open Closed Principle) 개방 폐쇄 원칙 자신의.. 2022. 1. 10.
Spring 입문 - 객체지향 오늘은 원래 JAVA문법의 스트림, 예외처리, thread등의 강의를 들으려고 했으나, 회사에서 짬짬이 자바 책을 보니 대충 기억이나서 spring 입문 강의를 오늘부터 시작하기로 했다. Part 3. 스프링 입문 Ch 01. 객체지향 실행하고자 하는 순서대로 명령어를 실행하는 절차지향과 달리, 객체지향은 현실에 존재하는 사물을 그대로 모델링하여, 이들의 행위와 속성을 정의하고, 절차적이 아닌 객체중심이 되어 실제 사물이 동작하는 방식으로 설계하기 시작하였다. 객체의 3가지 요소 - 상태 유지 (객체의 상태) 객체는 상태정보를 저장하고, 유지되어져야 하며 이러한 속성(Variable)은 변수로 정의되어져야 한다. 이러한 속성값이 바뀜으로 인하여, 객체의 상태가 변경될 수 있어야 한다. - 기능 제공 (객.. 2022. 1. 6.
자바 기억 되살리기 대학수업에서 JAVA 수업을 들었지만, 오랜만에 문법을 다시 보니가물가물했던 기억이 있어서Spring Framework를 본격적으로 입문하기전에JAVA 문법 헷갈리는 부분을 강의를 듣기로 하였다.Part 2. 객체지향 프로그래밍Ch 05. 자바와 자료구조무엇이든 담을 수 있는 제네릭(Generic) 프로그래밍클래스의 사용하는 변수의 자료형이 여러개일 수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정할 수 있도록 선언실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식컬렉션 프레임워크에서 많이 사용되고 있음T(type parameter), E(element), K(key), V(value)등을 Generic 자료형으로.. 2022. 1. 5.