Backend - Java Spring87 [JAVA얄코] 상속 1. Class의 상속 - 기본 예제 클래스 - 드라이브스루기능이 추가된 얄코치킨점을 내려면 ? - extends 키워드를 사용해 상속해서 사용한다. - 드라이브스루점 또한 홀 주문이 가능하다. 2. 메소드 Overriding - 부모와 자식 간의 메소드가 다름. - 자식에서 부모의 상속을 무시하고 새로 덮어씌운다. - @Override 어노테이션을 붙여놓는다. - super : 생성자 안에서 사용될 경우 부모의 생성자를 가리킨다. - super : 생성자 안에서 사용되지 않는 경우 부모 그 자체를 가리킨다. super.takeHallOrder() 처럼 사용이 가능하다. - super를 사용하는 경우 자식클래스의 생성자는 반드시 super로 시작해야한다. 2023. 11. 10. [JAVA얄코] 접근 제어자 1. 접근 제어자 - 구성요소 중 일부만 밖으로 공개 - 캡슐화 encapsulation - 보안때문에만 감추는 것이 아님 - 중요한 것은 클래스 작성자의 의도와 인터페이스의 노출에 대한 설계이다. - 제한이 오히려 편리함을 제공하는 경우이다. (TypeScript같은거) 2. Getter 와 Setter 패턴 - 필드가 private이므로 getter와 setter를 통해 접근한다. - getter, setter 안에 유효성검사를 하기도 한다. - getter 에서 할인율을 적용한 값을 리턴하거나, name에 string을 추가하거나 하는 추가 작업도 간단하게 가능하다. - cmd + N 단축키를 이용해 편리하게 생성 가능하다. 2023. 11. 10. [Spring 김영한] Spring 웹개발 기초 1. 정적 컨텐츠 (전통.html) - 'resources/static/' 에서 자동으로 제공한다. 2. MVC와 템플릿 엔진 (SSR) - MVC : Model View Controller - Controller : 내부적 로직처리 , @Controller 어노테이션이 들어간거. class 파일 - View : 렌더링만 하기 위함, Template 엔진 파일 (thyme 같은거) - HelloController 에 컨트롤러 추가해서 파라미터받아보기 - 이 패턴의 핵심은 html을 template 엔진으로 조작해서 조작된 html을 클라이언트에게 보내준다는 것 3. API (React/Vue) (CSR) - 쉽게 말해 데이터만 보내준다 - 실질적으로 제일 중요함 - HelloController에 추가해본.. 2023. 11. 10. [Spring 김영한] Java Spring 시작하기 1. start.spring.io - spring 시작하게 해주는 사이트 - 꿀이니까 그냥 쓰자 - Gradle : 요새는 Gradle이 대세 - SpringBoot : 버전은 좋은걸로 - Group : 회사명 - Artifact : 프로젝트명 - Dependency : Spring Web, Thymeleaf(템플릿 엔진) - GENERATE해서 gradle파일 프로젝트로 오픈 2. 실행 - 실행 누르면 8080으로 톰캣으로 실행된다 - 8080은 젠킨스가 잡고있는데..? 그래서 바꿔보자 - application.properties 파일은 Node의 .env 파일이라고 이해하면 된다. - 이렇게 넣어주고 실행하면 9090 실행 완료! 3. View 환경설정 - `resources/static/index... 2023. 11. 10. [SpringBoot3] Blog 기획하고 API 만들어보기 1. REST API - URL 설계 방식이다. - 동사를 쓰지 말고 자원을 표시해야 한다. - 동사는 HTTP 메서드로 한다. - Node/Express 하면서 지겹게 배웠던 내용이므로 나머지 생략 2. 엔티티 구성 컬럼명 자료형 null 허용 키 설명 id BIGINT N 기본키 일련번호, 기본키 title VARCHAR(255) N 게시물의 제목 content VARCHAR(255) N 내용 3. 단계별 작업 1) Domain의 Article class - Article class를 만든다 - Article.java - @Builder : 롬복에서 지원하는 애너테이션, 빌더 패턴 방식으로 객체를 생성할 수 있도록 한다. - 빌더패턴을 사용하지 않으면 new Article("abc","def") 이렇.. 2023. 10. 21. [SpringBoot3] 데이터베이스 1. DBMS - 관리 시스템이다. - 이미 MySQL을 사용한 적이 있으므로 2. H2, MySQL - H2는 자바로 작성되어 있는 RDBMS이다. 스프링 부트가 지원하는 인메모리 관계형 DB이다. - H2는 데이터를 다른 공간에 따로 보관하는 것이 아니라 앱 자체 내부에 데이터를 저장하는 특징이 있다. - H2는 실제 서비스에서는 사용하지 않고, 개발 시 테스트용도로 많이 사용한다. - 실제 서비스로 올릴 때는 MySQL을 사용한다 3. ORM - Sequelize같은 거다. 자바에서는 JPA를 표준으로 사용한다. JPA는 ORM 인터페이스다.(자바 객체와 DB를 연결한다.) - 실제 사용을 위해서는 구현을 위해 ORM 프레임워크를 추가로 선택해야 한다. 여기서는 Hibernate를 사용한다. 4. .. 2023. 10. 20. [SpringBoot3] 테스트코드 1. 테스트 코드 - 꼼꼼히 잘 작성해야 좋은 프로그래밍이다. 당연하다. - JS진영의 JEST기반의 유테/통테를 사용해봤으니, 금방 익혔으면 좋겠다. 2. SpringBoot의 테스트코드 - test 디렉터리에서 작업한다. - 다양한 패턴이 있으나, 여기에서는 given-when-then 패턴을 사용한다. - given : 테스트 실행을 준비하는 단계 - when : 테스트를 진행하는 단계 - then : 테스트 결과를 검증하는 단계 3. SpringBoot의 테스트도구 - spring-boot-starter-test 스타터에 테스트를 위한 도구가 모여있다. - 주로 JUnit과 AssertJ를 가장 많이 사용한다. 4. JUnit 사용 배우기 - JUnit : 단위테스트에 사용한다. 테스트 방식을 구.. 2023. 10. 20. [SpringBoot3] SpringBoot3 구조 살펴보기 1. 구조 살펴보기 - 각 계층이 통신하는 구조를 따른다. - 각 계층이 소통할 수는 있지만 직접 간섭하거나 영향을 미치지는 않는다. 2. 각 계층구조 1) Presentation 계층 - HTTP 요청을 받고 비즈니스계층으로 전송하는 역할. - 컨트롤러가 역할을 한다. 2) Business 계층 - 모든 비즈니스로직을 처리한다. - 프로세스를 구축하는 계층이다. 3) Persistence 계층 - 모든 DB 관련 로직을 처리한다. - 이 과정에서 DB에 접근하는 DAO 객체를 사용할 수도 있다. - DAO는 DB계층과 상호작용하기 위한 객체이다. - Repository가 퍼시스턴스 계층의 역할을 한다. 3. SpringBoot의 디렉터리 구조 살펴보기 - main : 실제 코드를 작성하는 공간. - t.. 2023. 10. 20. 이전 1 ··· 5 6 7 8 9 10 11 다음