[spring] - DI 컨테이너
·
Spring
[본 글은 김영한의 스프링 핵심 원리를 정리한 글입니다.]Springspring은 결국 객체 지향 애플리케이션을 효과적으로 개발할 수 있도록 도와주는 프레임워크이다.spring의 초기 세팅 단순화 + 내장 웹서버 + 의존성 관리 + App 상태 모니터링 + 로깅 + 보안 등의 설정을 쉽게 하도록 도와주는 오픈소스 프로젝트가 spring boot이다. 좋은 객체 지향 프로그래밍?객체 지향 프로그램은 추상화, 캡슐화, 상속, 다형성이 지켜져야 한다.모든 데이터 처리를 객체와의 관계로 해석한 것이다.객체간의 관계로 데이터를 처리해 변경에는 닫혀있고, 확장에는 열려있는(OCP) 구조를 대규모 프로젝트에서도 가능하게 한다. 역할과 구현을 분리하여 서버에 변경점이 생겨도 클라이언트에는 변경점이 생기지 않게 설계한다..
[spring] - test code 작성하기
·
Spring
안드로이드 개발을 할 때, 작성한 코드가 원하는대로 작성했는지 확인하려면'코드 작성 -> 빌드 -> 실행 -> 작동 확인 -> 오류 발생 -> 코드 수정' 순으로 진행했다. vue나 nodejs도 개발할 때 같은 방식으로 했는데, spring에서는 너무 똑똑하게 코드로 손쉽게 테스트할 수 있다.(마음에 아주 찰썩 듦..) spring 프로젝트를 열어보면 src 폴더 안에 main 폴더와 test 폴더가 있다.이 test 폴더에 보통 테스트 코드를 작성한다.자바는 클래스 단위로 코드를 짜니 main 폴더에는 여러 클래스들의 자바 파일이 있을 것이다.이 클래스들은 선언해서 원하는 값을 집어넣어 보고, 빼보고 하면서 기대한 값과 일치하는지 테스트하는 것이다. 코드로 확인해보자. Spring Codepackag..
[spring] - controller
·
Spring
spring은 MVC(Model - View - Controller) 구조를 기반으로 한다. 우선, 코드를 기반으로 spring 안에서 MVC가 어떻게 동작하는지 이해해보자.  MVC in Spring java 폴더 안에 controller 패키지를 생성하고, HelloController.java 파일을 생성한다.html 파일은 resources/templates 파일 아래에 생성한다. spring은 자바의 어노테이션 기반으로 코드를 짠다.위의 코드에서도 Getmapping으로 "/hello" 주소가 들어오면 어떤 페이지를 띄워줄건지, 어떤 데이터를 넘길건지 지정할 수 있다.model에 key:data, value:hello!! 값을 저장한 후에 hello.html을 띄워주는 로직이다.  th로 thym..
[spring] - 프로젝트 생성
·
Spring
미뤄뒀던 백엔드 공부를 시작하려 한다.마침 회사에서 맡고 있는 시스템도 스프링 기반이어서 공부할 필요가 있었다. 시간이 금인거 같아서, 이번에는 제대로 된 강의를 들어보고자inflearn에서 김영한, 스프링 입문 강의를 듣기로 했다-!   How to make a project? 스프링 프로젝트는 start.spring.io 사이트에서 생성한다.이제까지 했던 android, nodejs, ios 프로젝트는 IDE에서 새 프로젝트 생성 버튼을 누르면 생성되거나, npm으로 프로젝트를 생성하는 방식이었는데스프링은 spring-boot 페이지에서 프로젝트 네이밍, 언어 선택, 스프링 부트 버전, dependency까지 선택해 생성하는 방식이 나름 신기했다.(IntelliJ 유료 버전을 사용하면 IDE 안에서도..