웹개발
-
2. AOP(Aspect Oriented Programming)웹개발/SpringBoot 2020. 4. 10. 01:29
스프링은 IOC / AOP / PSA 3가지의 개념을 트라이 앵글 개념이라 부른다. 관점 지향적 프로그래밍 AOP 정의 Spring의 핵심 개념중 하나인 DI가 애플리케이션 모듈들 간의 결합도를 낮춰준다면, AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 하는 것이다. AOP (Aspect-Oriented Programming) 란 단어를 번역하면 관점(관심) 지향 프로그래밍으로 되는데. 이 관점(관심)이란 단어가 잘 와닿지 않아 AOP를 이해하는데 있어 더 어려움을 일으킨다고 생각하였다. 쉽게 얘기하여 프로젝트를 바라보는 관점을 바꾸어 보자는 말이다. 핵심 기능 관점에서 3개의 클래스는 공통 사항이없지만, 부가 기능 관점에서 3개의 클래스는 before 과 after이라는 메소드가 중복되..
-
1. IOC(Inversion of Controll) / DI(Depengency Injection) / Bean웹개발/SpringBoot 2020. 4. 5. 19:44
안녕하세요 현우입니다. 이번 포스팅은 [ IOC의 개념과 스프링 부트에서의 IOC 이해하기 ] 입니다. SpringBoot학습에 도움을 주신 백기선 개발자님께 감사드립니다 :) https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/lecture/13520 스프링 부트 개념과 활용 - 인프런 스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다. 중급이상 프레임워크 및 라이브러리 Spring Spring Boot 온라인 강의 스프링부트 www.inflearn.com yes24.com/Product/Goods/6229706 스프링 인 액션 이제 스프링 프레임워크는 ..
-
내장 웹 서버 응용 ( 톰켓 말고 다른 서버 사용하기)웹개발/SpringBoot 2020. 4. 3. 16:34
springboot stater 에 속해져 있는 tomcat를 먼저 빼줘야 한다 새로운 의존성으로 사용하고 싶은 서블릿 컨테이너의 의존성을 stater를 통해서 넣는다 포트변경 application.properties 파일 server.port = 7070 랜덤포트변경 application.properties server.port = 0 랜덤하게 뜨는 포트 혹은 고정시킨 포트를 애플리케이션이 어떻게 확인하고 쓸 것 인가. The best way ApplicationListner API에서 추천해주는 방식이다 @component public class PortListener implements ApplicationListener{ @override public void onApplicationEvent(S..
-
내장 웹 서버 이해웹개발/SpringBoot 2020. 4. 3. 16:11
웹 애플리케이션으로 none 으로 설정할 경우 웹서비스가 실행되지 않는다. 스푸링부트 자체는 서버가 아니라 내장 서블릿컨테이너를 쉽게 설정할수있게 해주는 툴이다 public class Application { public static void main(String[] args){ SpringApplication application = new SpringApplication(Application.class); application.setWebApplicationType(WebApplicationType.None) } } 톰캣 설정하기 public class Application{ public static void main(String[] args) throws LifecycleException{ Tomc..
-
5. [JPA] 양방향 연관관계와 연관관계 주인웹개발/Hibernate(JPA) 2020. 4. 1. 15:18
안녕하세요 현우입니다. 이번 포스팅은 [ 양방향 연관관계에 대한 이해 및 중요 TIP ] 입니다. 참고도서 http://acornpub.co.kr/book/jpa-programmig 자바 ORM 표준 JPA 프로그래밍 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것 www.acornpub.co.kr 양방향 매핑시에 무한루프 발생 위험 toString JSON 생성라이브러리 : lombok class Member ... ... ... @Override public String toStrig(){ return "Member{" + "id=":+ id + ", username='" + username +'\'' + ", team=" +team + '}'" } ..
-
4. [JPA] 연관관계 매핑웹개발/Hibernate(JPA) 2020. 4. 1. 15:06
안녕하세요 현우입니다. 이번 포스팅은 [ 연관관계 매핑에대한 이해 ] 입니다. 참고도서 http://acornpub.co.kr/book/jpa-programmig 자바 ORM 표준 JPA 프로그래밍 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것 www.acornpub.co.kr 객체지향 언어와 관계형 데이터베이스(RDBMS)의 연관관계 차이는 무엇일까요? 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾습니다. 객체는 객체 참조를 사용해서 연관된 객체를 찾습니다. 객체와 관계형 DB에는 이러한 큰 간격이 있습니다. 그렇타고 해서 연관관계를 맺지 않고 TEAM과 MEMBER을 조회한다면 어떻게 될까요? 쉽게 이해하기 위해 한가지 예를 들어보겠습니다...
-
Servlet 맵핑웹개발/Servlet & Jsp 2020. 3. 30. 20:24
1. Servlet 맵핑이란? 브라우저를 통해서 사용자가 해당하는 요청이 들어오면 여러 서블릿중에 적절한 서블릿을 응답 시키면된다. 브라우저가 정확하게 어떠한 서블릿에 요청을하는지 확인할 필요가 있는데 각 서블릿 마다 중복되지 않은 이름이 있어야 서블릿을 구분할 수 있다. full path는 복잡하고 보안에 취약하여 Servlet Mapping path를 사용한다. 2. Web.xml을 사용한 맵핑 request요청시 쉽게 찾을 수 있게 아래와같은 코드를 만든다 servletEx : 서블릿이름을 임의로 닉네임을 적용해준다. com.servlet.ServletEx : 실제 파일명을 풀패키지 까지 같이 적어준다 : 서블릿 이름은 위의 가명을 사용 url-pattern 은 매핑 이름 3. 어노테이션을 이용한 ..
-
간단하게 Servlet 맛보기웹개발/Servlet & Jsp 2020. 3. 30. 18:10
개발자는 java파일을 만들어주면 컴파일러들이 obj를 만들어준다. 이때 요청이 오면 웹컨테이너를 통해서 사용자에게 응답을 해 줄수 있다. 사용자가 일반적으로 브라우저를 통해서 서버에 데이터를 요청한다. 서버에있는 웹컨테이너는 사용자가 만든 자바 파일을 .class xxx.obj 파일로 만들어준다. 사용자에게 response를 해준다 Servlet 어떠한 내용을 출력시 PrintWriter 의 객체를 response로 부터 얻어내고 getWriter()을 이용하여 html 출력이 가능하다. 나머지는 서블릿생성시 자동으로 작성해 준다. @WebServlet Url을 매핑해준다. 보통 해당 서블릿 이름을 축약해서 사용한다 package com.testpjt; import java.io.IOException;..