분류 전체보기 27

[Spring] .properties와 .yml의 작성법에 대해 알아보자.

나다. 이 글이 뭐하는 글이냐면 스프링 부트를 사용하면 기본적으로 설정되는 파일인 application.properties를 본 적이 있지 않은가. 못 봤을 리는 없을 것이다. (못 봤으면 라섹수술 권장) 나는 처음 이 파일을 접했을 때 어플리케이션의 전반적 설정을 관장하는 파일로 이해하고 받아들였다. (허접 입장에서 봤을 때 사실 이게 반쯤 맞는 말이기도 함.) properties와 yml파일에서 지원하는 기능과 우선순위가 존X게 많지만 이번 글은그걸 알아보는게 아닌 그냥 작성법과 그 차이에 대해 알아보는 글이니 그건 설명하지 않겠다. 이 번 글에서는 application.properties와 application.yml의 작성법과 차이점에 대해알아보자. 이 블로그는 허접이 작성하는 블로그이기 때문에 ..

Spring 2022.12.15

[Thymeleaf] 변수 표현식이 뭔데요

나다. 이번 글 에서는 타임리프에서 변수를 사용하는 방법을 알아보자. 변수라 함은 동적페이지를 구성하는데 있어 필수적으로 사용되어야 할 요소이다. 위의 사진을 보라. 지금 두 개의 결과는 같지만 나중에 누군가 와서 "삼각형이 너무 개X만 하네? 크기 좀 키워줘" 라고 한다면 왼쪽의 코드는 그냥 i,j라는 변수만 몇개 찌끄리면 되지만 오른쪽의 코드는 하루종일 " * * * * *\n" 이 지X을 n번을 하고 있어야 하는 것이다. 퇴근도 못하고. 웹페이지를 구성 할 때도 똑같다. 나중에 쓸 Thyemleaf layout에서도 말하겠지만 그때 그때 변해야 하는 값들에 대해 변수를 사용해야 하는 것이 위와 같은 이유다. 물론 위의 예에서 나온 변수와 지금 설명할 변수는 조금 다른 개념이기는 하지만 언제 존X 많..

Thymeleaf 2022.12.14

[Thymeleaf] th:utext가 뭔데요

나다. 이번 글 에서는 타임리프의 utext 라는 문법에 대해 알아 볼 예정이다. 언뜻 보면 th:text와 비슷해 보이지 않는가? 생긴 빠꾸는 비슷하지만 정 반대의 기능을 한다. 먼저 th:utext 의 기능에 대해 알기 위해서는 HTML escape에 대해 알아야한다. 사진으로 보도록 하자. 먼저 컨트롤러에서 Attribute 하나를 던져본다. @Slf4j @Controller public class TestController { @GetMapping("/test") public String testPage(Model model) { model.addAttribute("hi", "hello! world!"); return "test/test"; } } // Attribute 안에 HTML 태그를 넣었..

Thymeleaf 2022.12.14

Spring Boot 3.0버전 나옴 ㅋㅋ

나다. 먼저 3.0 업데이트 공식 링크부터 첨부하겠다. https://spring.io/blog/2022/11/24/spring-boot-3-0-goes-ga Spring Boot 3.0 버전이 출시되었다길래 안 읽어보고 허겁지겁 만들어서 돌려봤다. 결론부터 말하자면 Spring Boot 3.0부터는 기본적으로 jdk 17버전 이상을 사용해야 한다. Spring Boot 2.x대 버전을 사용하던 우리는 대부분 11.0.xx버전을 사용하고 있었을 것이다. Baseline이 java 17로 잡혔기때문에 그 이하 버전은 탐색되지 않아 발생하는 현상이니 3.0 버전을 사용하고 싶은 유저가 있다면 jdk를 17버전 이상으로 업그레이드 하시길 바란다. 간략히 몇 가지 변경점에 대해 이야기 하자면 3.0 쓰고싶으면 ..

Spring 2022.12.13

[Thymeleaf] 사용하고 싶다면 주입과 설정부터

주입부터 합시다. 우리는 개발을 진행하며 많은 라이브러리를 사용한다. JSON을 사용하고 싶다면 Jackson 또는 Gson, 데이터베이스를 연결하고 싶다면 JDBC Driver, Mybatis, Spring Data Jpa 등 많은 것들을 사용하게 된다. 이 모든 것들의 공통점이 무엇일까? 당신이 만약 Gradle을 사용하고 있다면 build.gradle에 추가하게 될 것이고 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' } // build.gradle 임. Maven을 사용하고 있다면 pom.xml에 추가하게 될 것이다. org.springframework.boot spring-boot-sta..

Thymeleaf 2022.12.13

8080포트를 못 쓴다는데요?

우리같은 초보들은 개발을 하다 보면 이런 'Like a jot' 같은 상황이 발생한다. 본론만 말하면 대부분 오라클(혐라클) 때문일 가능성이 높다. 우리 같은 초보들은 대개 데이터베이스 입문을 오라클로 시작한다. Oragle 11g가 기본 포트번호로 8080을 선점하기 때문에 톰캣을 돌리면서 포트 충돌이 일어나는 것이다. 해결책은 간단하다. 만약 Gradle을 사용 중이라면 application.properties에 server.port = #### // ####에 아무거나 넣으셈. // 끝에 ; 붙이면 """""안됨""""". 한 줄만 추가해주면 톰캣에서 사용하는 포트번호가 변경되고 잘 돌아간다. 주의점으로 끝에 ;(세미콜론) 붙히면 안됨. Maven을 사용 중이라면 Run/Debug Configura..

Info 2022.12.13

Thymeleaf(타임리프) 에 대해 알아보자.

그래서 타임리프가 뭐임? Spring Boot에서 권장하는 강력한 ‘Natural template engine’ Thymeleaf는 웹 및 웹이 아닌 환경 모두에서 작동할 수 있는 Java XML/XHTML/HTML5 템플릿 엔진입니다. MVC 기반 웹 애플리케이션의 뷰 레이어에서 XHTML/HTML5를 제공하는 데 더 적합하지만 오프라인 환경에서도 모든 XML 파일을 처리할 수 있습니다. 대충 Johnna 강하다는 뜻. 간단하게 사용자가 요청한 페이지에 들어갈 값들을 뿌려주는 친구라고 생각하는 것이 이해하기 쉽겠다.(피자 토핑 뿌리듯이. 나는 포테이토 피자 좋아함.) 통상 자바에서 웹 개발을 할 때 JSP / JSTL를 이용한다. 진짜 좀 구린거 같음. //만약(if) 세션 안 멤버의 이름이 'jstl..

Thymeleaf 2022.12.13