목록Spring (6)
seonggoc

웹 MVC 개발하는 부분이다. Controller가 정해진 API를 통해 홈페이지를 반환하거나, 정적 페이지를 반환하는 것이다.정적 컨텐츠@Controllerpublic class HomeController { @GetMapping("/") public String home() { return "home"; }}controller/HomeController 부분에 위에 코드를 넣고 Hello Spring 회원 기능 회원 가입 회원 목록 template/home.html에 위와 같이 코드를 넣으면 된다.그러면 회원 가입과 목록 하이퍼링크가 있는데, 하이퍼 링크로 가면 Whitelabel..

기술적인 부분은 영어 표현이 더 많이 쓰이므로 스프링과 연관된 기술 부분은 영어로 표기를 진행한다.앞서 만든 Spring 예제에서 Controller가 Service를 통해 회원가입과 조회 기능을 쓸 수 있어야한다.실행하면 Controller가 MemberService를 통해 가져와야하는데 Spring Contatiner에는 MemberService가 없어 등록을 해줘야한다.Spring Bean은 등록하는 과정이라고 볼 수 있다.기능을 사용하기 위해서는 2가지 방법이 있다.Component Scan과 Automatic Dependency InjectionJava 코드로 직접 Spring Bean 등록Component Scan과 Automatic Dependency InjectionSpring Bean :..

강의에서 회원 관리 예제 프로젝트를 만들기를 진행한다.예제 프로젝트는 회원 관리 프로젝트로 비즈니스 요구사항을 정리하고 진행한다.1. 비즈니스 요구사항웹 어플리케이션 계층 구조컨트롤러 : MVC 컨트롤러와 API 만드는 컨트롤러 역할서비스: 핵심 비즈니스 로직이 들어가 있음 (회원 가입 중복이나 비즈니스에서 설정한 로직)도메인 : DB에서 관리되는 비즈니스 도메인 객체레파지토리 : 비즈니스 도메인 객체를 가지고 동작하는 객체클래스 의존관계비즈니스 요구 사항에서 회원 ID, 회원 이름을 사용하고, 회원가입, 조회 기능을 요구한다.회원 비즈니스 로직에 MemberService가 존재하고, MemberRepository는 Interface로 설계한다.DB를 정하지않아 단순하게 메모리에 저장하고 나중에 DB가 ..

Spring은 3가지 방식으로 응답을 한다.정적 컨텐츠MVC와 템플릿 엔진API위 3가지 방식으로 응답을 하는데, 이전 Django 프로젝트를 보면 API, MVC, 정적 컨텐츠 순으로 많이 활용할 것 같다.웹 개발 기초1. 정적 컨텐츠정적 컨텐츠는 src/main/resources/static 폴더에서 그냥 정적으로 파일만 전달하는 역할을 한다.Webserv 프로젝트를 했을 때 C++로 Nginx를 구현했었는데... 그게 여기서 도움이 되는 것 같다.TMI를 하자면 그때 기억나는 게 모든 파일을 string으로 보냈었는데 그림과 같은 파일에 수많은 0이 있다 보니 문자열 끝 NULL로 받아들여서 고민하다가 vector로 변경했던 기억이 있다.아무튼 정적 컨텐츠는 서버가 가지고 있는 파일을 있는 그대로 ..

Spring이라는 기술 자체가 오래되어 양이 너무 방대하기도 하고 현재 진행 중인 프로젝트가 없기 때문에 강의를 통해 스프링에 대해 전반적으로 알아가고자 강의를 듣게 되었다.Spring도 최대한 큰 흐름에 대해 이해하고 이후 자주 쓰는 라이브러리, 이후 세세한 것들에 대해 공부하고자 한다.프로젝트 환경 설정기본적으로 brew를 통해 openjdk와 IntelliJ를 설치했다. (IntelliJ는 선택사항)# brew에서 openjdk 검색brew search openjdk# brew에서 원하는 버전 설치brew install openjdkbrew install IntelliJSpring boot Starter직접 구현하는 방식은 이전에 쓴 튜토리얼을 참고하면 된다.하지만 강의에선 Spring Boot S..

Spring Boot 튜토리얼기존에 42에서 C/C++, Python을 통해 개발을 진행해왔지만, 백엔드 개발자를 지망하여 Java와 Spring을 학습하게 되었다.학습 방법어떻게 공부할 것인가?기존 지식기존에 나는 C/C++를 통해 운영체제, 네트워크 관련 지식을 익혔고, Django를 통해 백엔드 개발을 해본적 있고 Docker, Docker-Compose, Nginx 정도 다뤄본 적이 있다.Java 문법은 거의 모르는 상태로 1시간 정도 벼락치기로 조금 봤는데 C/C++와 유사한 부분이 많아 Spring과 Java를 동시에 배우는게 낫겠다라는 생각이 들었다.모르는 것다 모르지만 굳이 아는 선에서 생각하자면 Django와 유사한 점을 착안하면, 빌드하고, 정적 파일 처리하는 부분과 WAS처럼 동적으로..