본문 바로가기

BackEnd/Spring8

[Spring] 스프링에서 Property 파일 다루기 ( @PropertySource, @Value) 목표 : 동적으로 Property 값을 받아 오기 위해 Property마다 값을 지정해주고, 그 property를 불러오기. DB정보를 hibernate에 set할때 property로 가져와서 쓰게끔 @PropertySource PrppertySource를 Spring 에 추가하기 위해서는 Environment 인 @Configuration 클래스와 함께 사용된다. @PropertySource 사용 예 @Configuration @PropertySource("classpath:/com/myco/app.properties") public class AppConfig{ @Autowired Environment env; @Bean public TestBean testBean(){ TestBean testBea.. 2021. 12. 28.
[Spring] ModelAndView Model과 차이점은 Model은 데이터만 저장하는데, ModelAndView는 데이터와 이동하고자 하는 View Page를 같이 저장한다 ModelAndView Controller 처리 결과 후 응답할 view와 view에 전달할 값을 저장 생성자 ModelAndView(String viewName) : 응답할 view 설정 ModelAndView(String viewName, Map values) : 응답할 view와 view로 전달할 값들을 저장한 Map 객체 ModelAndView(String viewName, String name, Object value) : 응답할 view 이름, view로 넘길 객체의 name-value 주요 메소드 메소드내용 setViewName(String view) 응.. 2021. 12. 28.
[Spring] SpringBoot JSTL 사용하여 Controller 에서 ModelAndView를 이용하여 View로 넘겨주기 환경 VScode Spring Boot Gradle Controller-Model-Service-Repository 구조 JPA 사용 SpringBoot를 이용하여 Restful한 api를 만들었다. crud 기능을 가지고있는 api를 호출하면 json형식을 리턴하는 함수를 작성했다가, Controller 단에서 jsp파일로 값을 보내고싶었다. 단, ajax가 아니라 jstl를 이용해서 list를 table형식에 뿌려서 확인하고 싶었다. 처음엔 Service단에서 아예 JSON으로 값을 받게끔 작성하였다가, jstl에서 사용할 가 map혹은 list 형식을 받기때문에 JSON String Type이 아니라, List나 ArrayList로 값을 jsp파일로 넘겨줘야 했다. 넘겨줄때는 ModelAndView.. 2021. 12. 28.
[Spring] SpringBoot Path with "WEB-INF" or "META-INF" 오류 Spring Boot에서 jsp로 화면을 만들고, Controller에서 View로 값 넘겨주기 실습 중 build 하면 Path with "WEB-INF" or "META-INF" 가 뜨면서 jsp 화면이 뜨지 않았다. 해결은 간단하다. Spring Boot에서 내장된 Tomcat을 사용할 때 JSP를 처리하는 서블릿을 추가하지 않아서 발생하는 것이다. Gradle build.gradle에 의존성 추가 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' Maven pom.xml에 의존성 추가 org.apache.tomcat.embed tomcat-embed-jasper 2021. 12. 28.
[Spring] SpringBoot PostgreSQL DB연결 build도구 : gradle hibernate사용할때 DB를 postgresql로 사용하고싶다 하면, build.gradle 파일에 dependency에 postgresql 의존성을 추가해준다. runtimeOnly 'org.postgresql:postgresql' dependencies{ runtimeOnly 'org.postgresql:postgresql' } #SET database (postgresql) spring.datasource.driverClassName=org.postgresql.Driver spring.datasource.url=jdbc:postgresql:도메인주소:포트번호/db spring.datasource.username=username spring.datasource.pas.. 2021. 12. 28.
[JPA] Spring Data JPA 기초 (1) -Repository 종류 Spring Data JPA 에 대해서 알아보자 JPA 처리를 담당하는 Repository는 기본적으로 4가지가 있다. Repository CrudRepository PagingAndSotringRepository JpaRepository T는 Entity의 타입클래스이고 ID는 P.K 값의 Type이다. CrudRepository는 관리되는 엔티티 클래스에 대해 정교한 CRUD 기능을 제공한다. CrudRepository public interface CrudRepository extends Repository{ S save(S entity); Optional findById(ID primaryKey); Iterable findAll(); long count(); void delete(T entity).. 2021. 12. 28.
[Spring] lombok( 롬복의 특징, annotations) [참조]https://projectlombok.org/ 1. lombok을 쓰는 이유 모델 Class(VO, DTO, Entity) 를 만들때, 생성자, 접근자, 설정자, toString() 등 매번 만들어야한다. lombok을 사용하면 @Getter, @Setter 같은 어노테이션만 붙이면 자동으로 해주니 편하고 좋음 기존 방식의 문제점 멤버변수를 제어하기 위해 모델 객체마다 반복적으로 메소드들을 생성해야 한다. IDE에서 generate를 이용해서 편하게 생성할 수 있지만, 변수명이 바뀌면 다시 만들어야한다. lombok의 특징 생성자, 접근자, 설정자, toString() 자동생성 라이브러리이므로 위와 같은 번거로움이 없다. 이외에도 다양한 기능들이 추가로 있다. 2. gradle 에서 사용하기 b.. 2021. 12. 28.
[JavaScript] Ajax에서 JSON으로 return 받은 값을 table에 insert하기(뿌려주기) 개발 환경 : spring web project 🚩잠깐 보고 가기 [HTML] 테이블(Table) : 테이블을 만드는 태그 : 테이블의 헤더 부분을 만드는 태그 : 테이블의 행을 만드는 태그 : 테이블의 열을 만드는 태그 제일 먼저 바깥쪽에는 태그가 들어간다. 그리고 가장 위에는 라는 테이블 헤더 태그를 사용한다. HTML 구현 테이블로 보기 jquery 구현 $(document).ready(function(){ $("#btn1").click(function(){ $.ajax({ url : "/users", type : "get", // data : { // user_id : "user id", // name : "name", // email : "email" // }, success : function.. 2021. 12. 12.