Programming/스프링(spring) - Enterprise 33

스프링(spring)/ 게시판 구축 3(게시물 수정 및 삭제)

1. 게시물 생성은 다 알겠는데; 뭔가 글을 수정도 좀 하고 싶어졌다. modify.jsp 파일을 만들어서 작성 구현 코드와 비슷하게 만들어준다. 제목 작성자 내용 수정 2. 그리고 일단 컨트롤러에 url 매핑부터 get방식으로 추가해 준다. //게시물 수정 @RequestMapping(value = "/modify", method = RequestMethod.GET) public void getModify() throws Exception { } 3. 수정을 한다는 의미는? 조회의 상세 링크 페이지에서 무언가 클릭 했을 때, 가능해야 하겠지? view.jsp 파일에 아래 링크를 추가한다.(역시나 idx값으로 서로 매칭시킨다) 수정 * 여기서 드디어 데이터베이스를 활용할 것 같다?는 느낌이 든다. 그럼?..

스프링(spring)/ 게시판 구축 2(게시물 작성 및 상세 페이지)

1. 게시물 관련 로직을 디자인 할 차례다. 먼저 게시물 작성(write)에 관하여. views/board 폴더에 write.jsp파일을 생성. 그리고 아래 코드를 추가한다. 제목 작성자 내용 작성 * 참고로 jsp제일 상단에 있는 태그는 jstl 언어 core에 있는 문법 태그를 사용하기 위함이다. 상단 2개태그는 jsp파일에 세트로 가져간다. * form 태그 내용을 "post" 방식으로 보냈는데, 사용자가 서버로 보내니까 post로 보낸다는 정도만 인식하고 넘어간다. name 속성 이름으로 구분 이름으로 보내기에 정확히 넣어야 한다. 2. 다음에는 jsp파일을 컨트롤 할 BoardController에 url매핑 추가 아래 코드를 추가 //게시물 작성 @RequestMapping(value = "/w..

스프링(spring)/ 게시판 구축 1(메인 페이지)

# 앞의 Spring 5, 7, 8번까지(설치와 기본설정 관련) 완료 후에 진행해야 함. 미리 사용할 데이터베이스에 샘플 자료 20개 정도 넣어놓고 실습. 1. 페이지 구현을 위해 views에 board폴더 생성 후, list.jsp파일 생성으로 목록 페이지 만들기. 그리고 아래 코드를 추가한다.(커스텀) 번호 제목 작성일 2. jsp(v 뷰 관련)파일은 단순 실행되지 않는다. 그럼? controller(c 컨트롤 관련) 자바 파일로 경로를 잡아줘야 한다. src/main/java 폴더 내 기본 HomeController가 있는 패키지에, BoardController 클래스를 생성한다. 그리고 아래 코드를 추가한다.(빨갛게 지금은 에러 떠도 된다. 추가할거니까.) package com.project.co..

6. 스프링(spring)/ 구조

# 구조의 아래부터 설정하면서 올라오면 된다. 스프링에서 XML 파일, JSP 파일, Java(Controller) 파일은 각각 다른 역할을 수행하며 서로 다른 관계를 가지고 있습니다. 다음은 각 파일의 역할과 관계에 대한 비교 설명입니다: 1. XML 파일: - 주로 스프링 설정 파일로 사용됩니다. - 스프링 컨테이너의 빈(Bean) 정의, 의존성 주입 설정, AOP 설정 등을 포함합니다. - 예를 들어, `applicationContext.xml`과 같은 이름으로 파일을 생성하여 스프링 애플리케이션의 전반적인 설정을 정의할 수 있습니다. - XML 파일은 스프링의 전통적인 설정 방식이며, 최근에는 대신 Java 기반의 설정 파일 또는 어노테이션을 선호하는 추세입니다. 2. JSP 파일: - Java ..

7. 스프링(spring)/ pom.xml

# `pom.xml` Maven 프로젝트의 구성 파일로서, 프로젝트의 의존성 관리와 빌드 설정을 담당하는 파일입니다. 스프링 프레임워크를 사용하는 Java 프로젝트에서도 `pom.xml`을 사용하여 필요한 라이브러리 및 플러그인의 의존성을 관리하고 빌드 설정을 구성할 수 있습니다. `pom.xml` 파일은 Maven의 프로젝트 객체 모델(Project Object Model)을 정의합니다. 이 파일은 프로젝트의 기본 정보, 의존성, 빌드 설정, 플러그인 구성 등을 XML 형식으로 기술합니다. 주요한 요소들은 다음과 같습니다: 1. 프로젝트 정보: 프로젝트의 그룹 ID, 아티팩트 ID, 버전 등의 정보를 정의합니다. ``` com.example my-project 1.0.0 ``` 2. 의존성 관리: 프로..

8. 스프링(spring)/ Mysql-Mybatis(DB연동)

# pom.xml파일 depenency추가 mysql mysql-connector-java 8.0.25 org.mybatis mybatis 3.4.1 org.mybatis mybatis-spring 1.3.0 org.springframework spring-jdbc ${org.springframework-version} org.springframework spring-test ${org.springframework-version} test * MyBatis는 스프링과 함께 사용하기 좋은 ORM(Object-Relational Mapping) 프레임워크입니다. MyBatis는 SQL 매핑을 통해 데이터베이스 쿼리와 자바 객체 간의 매핑을 단순화합니다. 스프링에서 MyBatis를 사용하면 SQL을 XML 또..

9. 스프링(spring)/ JUnit test

# JUnit 자바용 단위 테스트 프레임워크로서, 스프링(Spring) 프로젝트에서 테스트를 작성하고 실행하는 데 사용됩니다. JUnit은 테스트 주도 개발(Test-Driven Development, TDD) 및 애자일 개발 방법론에서 널리 사용되는 도구로, 코드의 품질과 안정성을 향상시키는 데 도움을 줍니다. JUnit을 사용하면 개발자는 각각의 메서드 또는 클래스 단위로 테스트를 작성할 수 있습니다. 테스트 케이스를 작성하여 코드의 기대 동작을 정의하고, JUnit을 실행하여 코드가 기대한 대로 동작하는지 확인할 수 있습니다. JUnit은 다양한 어노테이션을 제공하여 테스트를 작성하고 실행할 수 있도록 지원합니다. 스프링에서 JUnit을 활용하는 경우, 주로 스프링 컨텍스트의 빈(Bean)을 테스트..

10. 스프링(spring)/ VO클래스와 DAO클래스

스프링에서의 VO 클래스와 DAO 클래스는 데이터베이스와 관련된 작업을 수행하는 데 사용되는 클래스입니다. 각각의 역할과 기능을 살펴보면서 비교해보겠습니다. VO 클래스 (Value Object): - VO 클래스는 값 객체로서, 데이터를 담는 용도로 사용됩니다. - 주로 데이터베이스의 레코드와 매핑되는 필드들을 가지고 있습니다. - 일반적으로 데이터의 저장과 전달을 목적으로 하며, 데이터에 접근하기 위한 getter와 setter 메서드를 가지고 있습니다. - 데이터베이스의 테이블과 1:1로 매핑되는 경우가 많습니다. - 비즈니스 로직을 포함하지 않으며, 단순히 데이터를 저장하고 전달하는 역할을 수행합니다. - 예를 들어, 사용자의 정보를 담는 UserVO 클래스는 사용자의 아이디, 이름, 이메일 등의..

2. 스프링(spring)/ IoC와 의존성 주입

# IoC (Inversion of Control) 제어의 역행 스프링의 IoC (Inversion of Control)는 객체 간의 의존성을 관리하기 위한 디자인 패턴입니다. 이 패턴은 개발자가 객체를 생성하고 관리하는 것이 아니라, 프레임워크가 객체의 생성과 관리를 대신 맡아서 처리합니다. 이를 통해 객체 간의 결합도를 낮출 수 있고, 유연하고 확장 가능한 애플리케이션을 구축할 수 있습니다. 일반적으로 개발자는 객체를 생성하기 위해 `new` 키워드를 사용하고, 객체 간의 의존성을 직접 관리합니다. 그러나 스프링에서는 IoC 컨테이너라는 역할을 하는 컨테이너가 객체의 생명주기를 관리하고, 객체 간의 의존성을 자동으로 해결해줍니다. 스프링 IoC의 핵심은 빈(Bean)입니다. 빈은 스프링이 관리하는 객..

5. 스프링(spring)/ 버전 호환 설치 및 설정(2023.기준)

# 자바 계열이 버전 관리는 주의해야 하는 부분이다. *단순히 이클립스 자바를 사용할 경우 권장버전. eclipse(4.21): https://www.eclipse.org/downloads/packages/release/2021-09/r 1. 이클립스 - JDK 이클립스 4.6부터는 JDK 8 이상 이클립스 4.17부터는 JDK 11 이상 이클립스 4.25부터는 JDK 17 이상 2. Spring(이클립스 기반) - JDK 3. 아파치 톰캣(서버) - JDK: # 파일 다운로드 2023.07.17 기준으로 본다면, 권장사항으로는 따라서 3.9.18 스프링 프레임 워크 기준으로 사용하면, boot(2.7)와 legacy(mvc) 지원. Spring Tool3.9.18(압축파일): https://downlo..