본문 바로가기

java

[JAVA | SPRING | MVC | CRUD] 게시물 생성 CREATE 게시물을 생성한다는 것은 웹에서 매개변수(제목, 내용등)를 받아 요청이 들어왔을 때 앞으로 조회, 수정, 삭제 등의 기능을 사용할 데이터를 DB에 저장하는 것이다.예를 들어 게시판에서 사용자가 작성한 게시글 제목과 내용 데이터를 데이터베이스에 저장하는 기능이다.1. 요구사항/usr/article/doAdd 요청에 대한 컨트롤러,서비스,리포지토리의 기능을 이해해 보자.요청 및 매개변수 처리 : 사용자에게 게시물의 제목과 내용을 입력. 제목,내용 외에 필요한 필드를 추가. 유효성 검사 : null이나 빈문자 검사. 길이제한. 특수문자처리.데이터베이스 저장 : 엔티티를 정의하고 post테이블 생성. 트랜잭션관리. ID자동증가문제 보안 : 권한관리. CSRF공격방지에러 처리 및 예외 처리 : 유효성검사,DB저장.. 더보기
[JAVA | 영상스크립트 | 백문이 불여일타!!] 생성자 1. 문제 설명메서드와 비교하여 생성자를 이해하기 위한 문제 2. 요구 사항`BookMain코드가 작동하도록 Book클래스를 완성하세요.특히 Book클래스의 생성자 코드에 중복이 없도록 주의하세요.public class Book { String title; //제목 String author; //저자 int page; //페이지 수 //TODO 코드를 완성하세요.} public class BookMain { public static void main(String[] args) { // 기본 생성자 사용 Book book1 = new Book(); book1.displayInfo(); // title과 author만을 매개변수로 받는 생성자 Book b.. 더보기
[JAVA | 영상스크립트 | 백문이 불여일타!!] 참조형 1. 문제 설명앞서 만들었던 다음 클래스에 있는 "상품 주문 시스템"을 리팩토링 하자.이 코드는 클래스와 배열을 사용하긴 했지만 주문정보, 출력, 총액 메서드가 분리 되어 있지 않아서 정보의 구분이 어렵고 반복되는 구조를 갖고 있다.public class RefactoringQ { public static void main(String[] args) { ProductOrder[] orders = new ProductOrder[3]; ProductOrder order1 = new ProductOrder(); order1.productName = "두부"; order1.price = 3000; order1.quantity = 2; .. 더보기
[JAVA | 영상스크립트 | 백문이 불여일타!!] 메서드(리팩토링) https://youtu.be/Duk3XobIiOU 1. 문제 설명다음은 입출금을 나타내는 코드이다. 코드를 보면 한 클래스 안에 입금로직과 출금로직이 섞여서 진행되고 있다.입금(deposit)과 출금(withdraw)을 메소드로 만들어서 리팩토링하면서 JAVA의 입출력,반복문, 조건문을 함께 공부할 수 있다.public class RefactoringQ { public static void main(String[] args) { int balance = 10000; // 잔액 // 입금 1000 int depositAmount = 1000; balance += depositAmount; System.out.println(depositA.. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해1 - 예제 만들기]주문과 할인 도메인 실행과 테스트 public class OrderApp {// 'OrderApp'라는 public 클래스를 선언합니다. public static void main(String[] args) { // 'main' 메서드를 선언합니다. 이 메서드는 애플리케이션의 진입점으로, String 배열을 매개변수로 받습니다. MemberService memberService = new MemberServiceImpl(); // 'MemberService' 인터페이스의 구현체인 'MemberServiceImpl'을 인스턴스화하고, 'memberService'라는 변수에 할당합니다. OrderService orderService = new OrderServiceImpl(); /.. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해1 - 예제 만들기]주문과 할인 도메인 개발 JAVA만 사용한 할인정책package hello.core.discount;// 이 줄은 패키지 이름을 선언합니다. 패키지는 Java에서 관련된 클래스와 인터페이스를 조직화하는 데 사용됩니다.import hello.core.member.Member;// 'Member' 클래스를 import합니다. 이 클래스는 동일 프로젝트의 다른 패키지에 정의되어 있으며, 'DiscountPolicy' 인터페이스에서 사용됩니다.public interface DiscountPolicy {// 'DiscountPolicy'라는 이름의 public 인터페이스를 선언합니다. 인터페이스는 메서드의 시그니처만을 정의하며, 구현은 이 인터페이스를 구현하는 클래스에서 이루어집니다. /* * @return 할인 대상금액 .. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해1 - 예제 만들기] 도메인 개발 package hello.core.member;// 이 줄은 패키지 이름을 선언합니다. 패키지는 Java에서 관련된 클래스와 인터페이스를 조직화하는 데 사용됩니다.public enum Grade {// 이 줄은 'public' 접근 제어자로 선언된 'enum' Grade를 정의합니다. 'enum'은 열거형으로, 한정된 상수 값만을 멤버로 가지는 특수한 클래스 타입입니다. BASIC, // 'BASIC'은 Grade 열거형의 첫 번째 상수입니다. 이는 회원 등급 중 기본 등급을 나타냅니다. VIP // 'VIP'는 Grade 열거형의 두 번째 상수입니다. 이는 회원 등급 중 높은 등급을 나타냅니다.}package hello.core.member;// 이 줄은 패키지 이름을 선언합니다... 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] MVC와 템플릿엔진 @GetMapping("hello-mvc") public String hellowMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); // 'name'이라는 이름으로 모델에 파라미터 값을 추가함 return "hello-template"; // View 이름을 'hello-template'으로 지정하여 반환함 }이 메서드는 Spring MVC에서 HTTP GET 요청을 처리합니다. URL의 경로가 "hello-mvc"로 끝나는 GET 요청이 이 메서드에 매핑됩니다. 사용자는 URL을 통해 'name'이라는 이름의 파라미터 값을 전달할 수 있습니다. 이 값은 메서드.. 더보기