목록Backend/스프링부트 (41)
개발 무지렁이

환경설정 ⚙️ [.gitignore] application-base-addi.yml[application.properties] spring.thymeleaf.prefix=classpath:templates/ spring.thymeleaf.suffix=.html[application.yml] spring: profiles: active: dev, base-addi thymeleaf: cache: false prefix: file:src/main/resources/templates/ devtools: livereload: enabled: true restart: enabled: true datasource: url: jdbc:mariadb://127.0.0.1:3307/app59?useUnicode=true..

쿠키 🍘 ❗ 접속하는 사람에 따라 다른 페이지를 보여주고 싶다 -> 사용자를 구별하고 싶다 ❗ 웹서버는 기억력이 없다 -> 클라이언트 최초 접속 시, 서버가 쿠키 🍘 발행 (커피 도장 쿠폰 ☕) 세션 ❗ 클라이언트가 쿠키 🍘를 조작하면 어쩌지? -> 서버의 세션저장소에 클라이언트별로 공간 생성 (= 세션 Session) -> 이 공간에 정보 저장 -> 쿠키 🍘에는 세션ID가 들어있다 (JSESSIOINID) ❗ 클라이언트가 세션ID를 조작하면? -> 규칙이 없게 길게 만들면 된다. ex. 세션저장 @GetMapping("/saveSession/{name}/{value}") @ResponseBody public String saveSession(@PathVariable String name, @PathVa..

리포지터리 (엔티티에 의해 생성된) 데이터베이스 테이블에 접근하는 'CRUD 메서드'들을 사용하기 위한 인터페이스를 말한다. public interface QuestionRepository extends JpaRepository { // 리포지터리로 만들기 위해 JpaRepository 인터페이스를 상속 // } Create save() @SpringBootTest class App59ApplicationTests { @Autowired // 객체 주입 private QuestionRepository questionRepository; @Test void testJpa() { Question q = new Question(); q.setSubject("안녕..

ORM(Object Relational Mapping) 객체와 '관계형 데이터베이스'의 데이터를 자동으로 매핑해주는 도구를 말한다. 📍. 쿼리문 대신 ☕자바코드로 데이터베이스의 데이터를 처리할 수 있다. 📍. 내부에서 안전한 SQL 쿼리 자동 생성 JPA(Java Persistence API): 🧱 ORM 프레임워크의 표준 스펙 ☕ Java를 기반으로 한 객체 관계 매핑 기술을 말한다. 📍. 객체 지향 프로그래밍 모델과 관계형 데이터베이스 사이의 불일치를 해결하기 위해 개발 📍. 개발자가 SQL쿼리를 직접 작성하지 않아도 된다. 📍. JPA를 구현한 실제 클래스: Hibernate ❓ SQL쿼리문 ``` insert into question(subject, content) values('안녕하세요..

스프링부트 ❓프레임워크 -> 개발할 때, '자주 쓰이는 기능'을 '한꺼번에' 제공해 개발효율을 높여주는 '소프트웨어 환경'을 말한다 ⭕ 쿠키 처리 ⭕ 로그인 / 로그아웃 처리 ⭕ 데이터베이스 처리 ⭕ 보안 처리 이 모든 기능이 Java로 만들어져 한꺼번에 제공하는 소프트웨어 환경 중의 하나가 ' 스프링부트 ' 이다. [ 톰캣서버(WAS) 내장 ] 스프링부트 프로젝트의 구조 src/main/java 자바 파일(컨트롤러, 서비스, 레포지터리, 폼 및 DTO, 엔티티...) + Application.java 시작을 담당하는 파일 @SpringBootApplication // 스프링부트의 모든 설정을 관리 public class +Application { public static void main(String[..