분류 전체보기 (74) 썸네일형 리스트형 spring-boot MVC와 템플릿 엔진 웹을 개발한다는 건 크게 세 가지 방법이 있다.-정적 컨텐츠 -MVC와 템플릿 엔진(가장 많이 씀-jsp, php 등) -API MVC와 템플릿 엔진Model, View, Controller예전에는 controller, view 분리가 안 되어 있었음. 오잉... view에서 모든 걸 다 했음. (model 1방식) 지금은 MVC. "관심사의 분리"View는 화면을 그리는데 역량을 집중!Controller, model은 비즈니스 로직, 내부적인 거 처리 집중!쪼개는 게 좋겠다! 그래야 협업도 좋고, 복잡하지도 않고. 안 쪼개? 유지보수 혼자.... ;; @GetMapping("hello-mvc") //public String helloMvc(@RequestParam(name = "name", requir.. spring-boot 정적 컨텐츠, static 웹을 개발한다는 건 크게 세 가지 방법이 있다.-정적 컨텐츠-MVC와 템플릿 엔진(가장 많이 씀-jsp, php 등)-API 정적 컨텐츠-스프링 부트는 정적 Static Content 기본적으로 제공한다.By default, Spring Boot serves static folder~~static 폴더 보이지? 저기임폴더 아래에 hello-static.html을 만든다. 정적 컨텐츠 입니다. 접근 ? 그냥 파일 명 그대로 접근하면 됨소스 보기 해도 똑같음 웹 브라우저에서 localhost:8080/hello-static.html 요청했어.그럼 톰켓 내장 서버가 이걸 받아서 스프링 컨테이너로 넘겨. 컨트롤러(우선 순위 가짐)에서 hello-static 찾아봐! 어 없네?다음 resources안의 stati.. spring-boot gradle 빌드하고 실행하기 및 버전 오류 일단 인텔리J 서버 돌아가는 거 정지시켜 놓고!(8080포트 겹치니까...) 터미널 켜서 → 프로젝트 만들어둔 폴더로 접근해서gradlew build build하면 build폴더가 생김 build 안에 libs 안에 리스트를 보면 jar파일이 만들어진 걸 확인할 수 있다.rw-r--r-- 1 dhgpcks 197121 18775598 3월 10 18:17 hello-spring-0.0.1-SNAPSHOT.jar java -jar 이름이렇게 하면 jar파일을 실행할 수 있는데...this version of the Java Runtime only recognized class file versions up to 5.2.0뭔가... 버전 맞지 않다는 에러 뜸 (ㅠㅠ) 다 지우고 다시 깔았는데도 실패..뭘까 .. spring-boot View 환경 설정 index.html만들어서 쓰니까 바로 사용가능하네resources - static - index.html 여기는 static폴더의 index.html파일입니다 정적 페이지에요. 요청 받아서 그냥 파일을 그냥 던져준 것! 스프링은 거의 웹 전반에 대한 모든 걸 제공하고 있다.스프링 부트는 좀 더 편하게 쓸 수 있게 해준다. 필요한 걸 찾는 능력이 중요하다.spring.io 공홈이얌. 다양한 내용 찾아서 쓸 수 있어. 템플릿 엔진템플릿 엔진은 페이지 내용을 바꾸거나 할 수 있도록 기능을 지원한다.(스프링에서 제공하는 기본적인 Template Engines은 FreeMarker, Groovy, Thymeleaf, Mustache가 있다)우리는 템플릿 엔진 중에 thymeleaf 템플릿을 쓰겠다.https:/.. spring-boot 프로젝트 생성 프로젝트 환경설정 프로젝트 생성 사전 준비물-Java 11 설치-IDE, InteliJ 또는 Eclipse설치 인텔리 J 많이 쓴다. 추천추천! 인텔리 합니다 : ) '스프링 부트 스터디 사이트로 이동해서 프로젝트 생성'https://start.spring.io 스프링 기반으로 스프링 부트 관련 프로젝트를 만들어주는 사이트 -Maven Project냐 Gradle Project나 고르는 게 있어. 라이브러리 가져 오고, 관리해주고, build해주는 툴 이다 과거에는 Maven많이 썼으나 요즘에는 Gradle을 많이 쓴다. Gradle 써보자.-Language는 Java-Spring Boot에서는 버전을 골라야 함. SNAPSHOT은 아직 시험 버전. -Project MetadataGroup 기업 도메인 .. JPA 기반 프로젝트 JPA 기반 프로젝트Spring Data JPA스프링 데이터 JPA 적용 전반복되는 CRUDpublic class MemberRepository{ public void save(Member member) {...} public Member findOne(Long id) {...} public List findAll() {...} public Member findByUsername(String username) {...} } public class ItemRepository{ public void save(Item item) {...} public Member findOne(Long id) {...} public List findAll() {...} }CRUD하는 게 다~ 비슷-비슷하다. -자동화 하고 싶.. JPA 객체지향쿼리 - JPQL JPA와 객체지향 쿼리JPA는 다양한 쿼리 방법을 지원JPQL-가장 단순한 조회 방법. -JPA에서 제공하는 공식 쿼리. ANSI 표준과 거의 비슷함 -JPA를 사용하면 엔티티 객체를 중심으로 개발 -문제는 검색 쿼리. 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색! -모든 DB데이터를 객체로 변환해서 검색하는 것은 불가능 → 검색 조건이 포함 된 SQL 필요-JPQL은 엔티티 객체를 대상으로 쿼리 ↔ SQL은 데이터베이스 테이블을 대상으로 쿼리//검색 String jpql = "select m from Member m where m.name like '%hello$'"; List result = em.createQuery(jpql, Member.class).getResultList();Me.. JPA 내부 구조. 영속성 컨텍스트 JPA에서 가장 중요한 2가지ORM. 객체와 관계형 데이터베이스 매핑 영속성 컨텍스트엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저 팩토리에서 유저에서 요청 올 때 마다 엔티티 매니저를 별도로 만들어준다. 이 엔티티 매니저는 JDBC에서 제공하는 커넥션 풀을 사용해서 DB와 연결된다. 영속성 컨텍스트"엔티티를 연구 저장하는 환경"이라는 뜻EntityManager.persist(entity); 영속성 컨텍스트는 논리적인 개념! 엔티티 매니저를 통해 영속성 컨텍스트에 접근한다. 엔티티의 생명주기비영속, 영속, 준영속, 삭제비영속(new/transient)member 객체를 생성했어. 생성만 하고 JPA에 안 집어넣었어. 이 상태를 비영속 상태라고 한다.//객체를 생성한 상태(비영속) Member memb.. 이전 1 2 3 4 5 6 ··· 10 다음