SpringBoot

JPA 의 Specification 인터페이스 사용(Specification 은 쿼리를 보다 정교하게 작성할 수 있도록 도와주는 JPA 도구)  QuestionService 에 다음 코드 추가  QuestionRepository 에 다음 코드 추가   QuestionService 에서 getList 메소드 수정   QuestionController 에서도 getList 메소드의 입력 항목이 변경되었으므로 수정
1. update 기능                                  2. delete 기능
1. 회원가입 기능 구현회원 가입 기능을 구현하기 위해서는 회원 정보에 관한 데이터를 저장하고 관리하는 엔티티와 리포지터리, 서비스, 폼 등이 필요하다.  서비스에서 비밀번호는 보안을 위해 BCryptPasswordEncoder 클래스를 사용하여 저장했는데 객체를 직접 new 로 생성하는 방식보다는 PasswordEncoder 객체를 빈으로 등록해서 사용하는 것이 좋다고 한다.(만약 암호화 방식을 변경하면 BCryptPasswordEncoder 를 사용한 모든 프로그램에서 수정해야하기 때문에)   따라서 다음과 같이 SecurityConfig.java 파일에 PasswordEncoder 객체를 빈으로 등록하고   다시 서비스에서 new 로 객체를 생성했던 부분을 삭제하고 형광색부분을 추가해주었다.    ..
1. 게시물에 번호 지정하기 ▼게시물 번호 공식 게시물 번호 = 전체 게시물 개수 - (현재 페이지 * 페이지당 게시물 개수) - 나열 인덱스 만약 게시물이 12개이고 한 페이지에 보여지는 게시물이 10개면1페이지에는 12, 11, 10, 9, 8, 7, 6, 5, 4, 3 번의 게시물이 보여야하고0페이지에는 2, 1 번의 게시물이 보여야 한다.   2. 답변 개수 표시하기 다음과 같이 question_list 에 코드를 추가하면 게시물 옆에 답변의 개수가 출력된다.    3. 스프링 시큐리티 설정하기 스프링 시큐리티란 회원가입과 로그인을 도와주는 프레임워크이다. 스프링 시큐리티를 사용하기 위해 다음과 같이 build.gradle 파일을 수정한다.형광색 부분의 코드를 삽입하고 refresh 한 다음 다시..
1. 공통 템플릿 만들기 오류 메시지를 출력하는 HTML 코드는 질문 등록과 답변 등록 페이지에서 모두 반복해서 사용하는데이 때 중복되는 코드를 하나의 공통 템플릿으로 사용해보려고 한다.    ▼질문등록 페이지에서 수정  ▼답변등록 페이지에서 수정  2. 내비게이션 바 추가하기내비게이션 바는 화면 위쪽에 고정되어 있는 부트스트랩의 컴포넌트 중 하나이다내비게이션 바는 모든 페이지에서 공통적으로 보여야 하므로 다음과 같이 layout.html 템플릿에 내용을 추가하였다. 내용을 추가하고 다시 실행한 결과 아래 그림과 같이 내비게이션 바가 생성된 것을 알 수 있다.        하지만 브라우저의 가로 사이즈를 줄였을 때 아래 그림과 같이 햄버거 메뉴 버튼이 생성되고 로그인 버튼이 사라진 것을 알 수 있는데이 ..
서버의 URL 을 요청할 때 도메인명 뒤에 아무런 주소도 덧붙이지 않는 URL 을 루트 URL 이라고 한다.루트 URL 을 요청했을 때 보여지는 페이지를 메인 페이지라고 한다. 즉 http://localhost:8080 을 입력했을 때 http://localhost:8080/question/list 로 이동해야한다. 그렇게 하기 위해서는 MainController.java 의 파일을 다음과 같이 수정해야한다. 다음 코드에서 redirect:/question/list 는 /question/list 로 페이지를 리다이렉트하라는 명령이다. 리다이렉트란 클라이언트가 요청하면 새로운 URL로 전송하는 것을 의미한다.
우선 h2 란주로 개발 환경에서 사용하는 자바 기반의 경량 DBMS 개발 시에는 h2 데베를 사용하여 빠르게 개발하고 실제 운영 시스템에는 좀 더 규모 있는 DBMS( MySQL, 오라클 DB, MS SQL 등) 을 사용하는 것이 일반적이라고 한다.  1. build.gradle 파일에 다음과 같이 입력한다.  2. src/main/resources 디렉터리의 application.properties 파일에 다음과 같이 설정을 추가한다.  3. spring.datasource.url 을 jdbc:h2:~/local 로 설정했으므로 사용자 홈 디렉터리 아래에 local.mv.db 라는 파일을 생성해야 한다.C:\Users\사용자명 경로에서 새로만들기 → 텍스트 문서 → 다른 이름으로 저장 파일 이름 : l..
▶ 먼저 CRUD 란?데이터 처리 기능인 Create Read Update Delete 를 묶어서 일컫는 말  ▶ 가장 기초적인 게시판을 만드는데 있어서 필요한 기능들질문 생성질문 검색질문 수정질문 삭제댓글 생성댓글 수정댓글 삭제... 여기서 create 의 역할을 지닌 질문 생성, 댓글 생성 기능을 구현해볼 것이다.과정은 다음과 같다.1. 질문엔티티 만들기 -Question.java2. 답변엔티티 만들기 -Answer.java3. h2 데이터베이스에서 질문, 답변 테이블 생성됐는지 확인하기4. 리포지터리 생성하기 -QuestionRepository.java -AnswerRepository.java5. JUnit 으로 리포지터리가 정상적으로 동작하는지 확인하기6. 질문 작성 기능 만들기 ..
● WAS(Web Application Service) : 사용자의 입력을 받아 서버에서 무언가를 처리하고 그 결과를 보여주는 동적인 데이터를 처리하는 웹서버(스프링 부트에는 톰캣 서버가 내장되어 있다.)  ● IDE(Integrated Development Environment) : 통합 개발 환경(ex. 이클립스, 인텔리제이)  ● ORM(Object Relational Mapping)  : sql 을 사용하지 않고 자바 문법으로도 데이터베이스를 다룰 수 있도록 하는 도구  ● JPA(Java Persistence API) : 자바에서 ORM 을 사용하기 위한 인터페이스를 제공하는 API 이다.  ● CRUD : Create, Read, Update, Delete 의 앞글자만 따 만든 단어로 데이터 ..
공부 기록장
'SpringBoot' 카테고리의 글 목록