전체 글
-
[spring] AOP 프로그래밍 분석하기();Spring 2020. 2. 25. 03:43
DI 이외의 또 다른 스프링 프레임워크의 큰 특징인 AOP에 대해 알아보자..! (최범균 님의 스프링 5 서적을 보며 참고하여 정리한 글인데, 최범균 님은 참 글을 이해하기 쉽게 잘 쓰시는 거 같다..) AOP(Aspect Oriented Programming) 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어 준다. 즉, 핵심 기능의 코드는 수정하지 않으면서 공통 기능의 구현을 추가하는 것이 AOP의 목적이다. 아래 예제를 보자..! public class CalcMain { public static void main(String a..
-
[spring] DI와 자동 의존 주입(@Autowired) 박살내기();Spring 2020. 2. 20. 05:46
스프링 프레임워크의 핵심 기능인 DI가 무엇이고? 자동 의존 주입의 종류와 사용법은 무엇인고? 어떠한 자동 의존 주입 방식을 선택할꼬? DI(Dependency Injection) '의존성 주입'이라는 이해하기 어려운 용어로 번역될 수 있다... 가끔은 영어 그대로의 의미를 곰곰히 생각해보는게 한글보다 이해하기 더 편할때도 있는것 같다.. 주륵 본론으로 돌아가서, 의존성 주입에서 '의존'은 객체간의 의존을 의미한다. 객체가 의존한다는 건 무엇일까? public class MemberService { // 직접 생성 private MemberRepository memberRepository = new MemberRepository(); public void register(Member member) { m..
-
[Thymeleaf] layout-dialect 간단하게 사용해보자Thymeleaf 2020. 2. 7. 18:37
Thymeleaf가 제공해주는 layout을 사용해보았다. 기존에는 tiles를 많이 쓰던 나란 개발자.. 여러가지 경험해보자. 요즘 스프링부트 많이 쓰고 있는데 thymeleaf랑 점점 더 친해질 것같은 예감(?)이 든다. 마음ㅇ ㅔ든다. 작업환경 spring boot - 2.2.4.RELEASE thymeleaf - 2.2.4.RELEASE thymeleaf-layout-dialect maven ... dependency 추가 org.springframework.boot spring-boot-starter-thymeleaf nz.net.ultraq.thymeleaf thymeleaf-layout-dialect spring-boot-starter-thymeleaf : thymeleaf 뷰 템플릿 엔진을..
-
[Thymeleaf] 타임리프가 뭐야?Thymeleaf 2020. 2. 7. 15:01
이번에 Spring boot 프로젝트를 진행하면서 템플릿 엔진으로 thymeleaf를 사용해서 끄적끄적 해본다. 본래 쓰던대로 JSP를 이용하려고 했으나, 스프링부트에서 타임리프를 권장한다고 하니 경험해보고 싶었다. 자세한 내용은 https://www.thymeleaf.org/ 타임리프 공식 document를 참고하였다. Thymeleaf의 목적? 공식 문서 첫번째 페이지에서 타임리프를 소개할때 말하는 궁극적인 목적은 개발의 workflow를 natural templates로 가지고 올 수 있다는 것이다. 그렇다면 thymeleaf가 말하는 natural templates란 뭐지??? 보다시피 thymeleaf 문법으로 쓰여진 HTML templates는 항상 마크업 언어 안쪽에 속성으로 쓰여지기 때문에..
-
[java] 자바를 사용해서 메일 보내기 (feat. SMTP Protocol)Java 2020. 2. 7. 03:00
SMTP 프로토콜과 자바를 사용해서 메일전송을 해보려고 한다. 현재 운영 중인 블로그에 추가할 것이당 :) 간단하게 SMTP 메일 전송에 대한 개념을 이해하자. [happy@naver.com]가 [funny@gmail.com] 에게 메일을 보냈다! ->happy의 메일은 naver 메일서버를 거치고 gmail 메일서버를 거친 후 funny에게 전달된다. SMTP Protocol(Simple Mail Transfer Protocol) - 전자 메일 전송을 위한 표준 프로토콜. - 클라이언트트가 서버에 이메일을 전달하는데 사용된다. POP3 Protocol(Post Office Protocol) - 서버에서 이메일을 수신할 수 있도록 한다. - 서버의 이메일은 삭제됨. IMAY Protocol(Interne..
-
[spring] 페이징 처리하기 (feat. Thymeleaf)Spring 2020. 2. 4. 18:48
페이징 처리는 웹 개발에서 필수적인 기술이며, 요즘은 무한스크롤로 처리하는 경우도 많다. 무한스크롤 + 페이징을 접목하는 경우도 다수 본 것 같다. (...나중에 써봐야징..) 페이징을 처리하는 방법은 여러가지가 있지만, 간단한 예제를 통해서 가장 기본이 되는 방식으로 구현해 보자 !! 개발 환경은 아래와 같다..! 언어 : java 1.8 프레임워크 : springboot 2.2.4.RELEASE (spring-boot-starter) 템플릿엔진 : thymeleaf 2.2.4.RELEASE (spring-boot-starter) 데이터베이스 : H2 1.4.200 (spring-boot-starter) orm : data-jpa 2.2.4.RELEASE (spring-boot-starter) 사전준비..