원지의 개발
728x90
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
[인프런] 스프링 핵심원리 - 5. 싱글톤, 싱글톤 컨테이너, @Configuration
Server/Spring 2023. 11. 18. 00:27

5. 싱글톤 (순수한 DI컨테이너)AppConfig는 호출할 때마다 다른 객체를 생성 고객 트래픽이 초당 100이 나오면 초당 100개 객체가 생성되고 소멸 = 메모리 낭비가 심함 해당 객체가 딱 1개 생성되고, 공유하도록 설계 = 싱글톤 패턴 싱글톤 패턴 싱글톤 패턴 구현 방법은 여러가지 객체 인스턴스를 2개 이상 생성되지 못하도록 만듦 package hello.core.singleton; import static org.junit.jupiter.api.Assertions.*; class SingletonService { private static final SingletonService instance = new SingletonService(); public static SingletonServic..

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
[인프런] 스프링 핵심원리 - 이론 및 실습 요구사항 & 1. 회원 도메인
Server/Spring 2023. 11. 11. 12:41

생성 JPA EJB 엔티티빈(사용 어려움)이 등장 후 하이버네이트가 나왔고, 표준으로 JPA가 됨 JPA는 표준 인터페이스이고 구현체로 하이버네이트, EclipseLink 등이 있음 스프링 로드 존슨 EJB의 문제점 지적 후 생긴 기술 스프링 프레임워크 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 웹기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원격접근, 스케줄링 테스트: 스프링 기반 테스트 지원 언어: 코틀린, 그루비 스프링 부트 스프링을 편하게 사용할 수 있도록 지원 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 (톰..

article thumbnail
[Spring] DAO, VO, DTO, Entity
Server/Spring 2023. 6. 20. 13:51

DAO Data Access Object 데이터베이스의 data에 접근하기 위한 객체, 데이터베이스의 통신 데이터베이스에 접근하기 위한 로직을 분리하기 위해 사용 Repository DTO & VO DTO Data Transfer Object Table 계층 간 데이터 교환을 하기 위해 사용하는 객체 Entity 비슷하지만 목적 자체가 전달이므로 일회성으로 사용되는 성격이 강함 로직을 가지지 않는 순수한 데이터 객체 - getter & setter만 가진 클래스 (setter 있으면 가변 객체) DB의 데이터가 Presentation Logic Tier로 넘어오게 될 때는 DTO의 모습으로 바뀌어 오고 가는 것 setter의 경우 변조 가능성이 있으므로 생성자로 값을 넣어주면 변조 불가능하게 만듦 (불변..

article thumbnail
[Spring Boot] BootMyweb (5) - 자바측 API, Gson, 카카오로그인
Server/Spring boot 2023. 2. 23. 18:24

자바측 API 모든 언어는 API 통신을 위한 라이브러리들이 있음 (예를들어 js에서 비동기 통신을 이용한 카카오, 구글api) 자바에서는 java.net 패키기의 URL클래스, HttpURLConnection클래스 이용하거나 외부라이브러리 HttpClient 이용 js에서 ajax로 하는 것을 java에서는 아래의 방식으로 사용 통신 방법 1. HttpURLConnection 객체 생성 URL url = new URL(요청주소); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 2. 요청 메서드 설정 conn.setRequestMethod("POST"); conn.setDoOutput(true); //상대방 서버로부터 결과를 받아오..

article thumbnail
[Spring Boot] BootMyweb (4) - 세션, redirect, interceptor
Server/Spring boot 2023. 2. 22. 19:03

Connectionsless Protocol 웹 서비스는 HTTP 프로토콜 기반, 요청(request)에 대한 응답(response) 후 관계를 끊음 인증되지 않은 사용자는 모든 페이지에서 인증과정을 거쳐야 하는데 지속적인 인증 수단으로 세션과 쿠키를 사용 session 스프링 MVC의 세션 2가지 public String updatePage(HttpServletRequest request) {...} HtteServletRequest: 파라미터로 HtteServletRequest를 받을 후 getSession()을 세션 얻음 public String MyPage(HttpSession session) {...} Httpsession: 파라미터로 Httpsession을 받아 세션 사용 session 메서드..

article thumbnail
[Spring Boot] BootMyweb (3) - 파일 업로드, 불러오기, selectKey
Server/Spring boot 2023. 2. 21. 18:13

파일 업로드 파일 첨부 기능은 매우 중요 사용자 편의 ▶ 드래그 앤 드롭(JS), 첨부파일의 유효성 검사(server), 파일 전송의 진행률(JS) 스프링 일반적으로 commons-fileupload 이용 (서블릿 3.0 이전, 이후 모두 사용 가능) 서블링 3.0 이상에서부터는 자체적인 파일 업로드 지원 파일럽로드 처리 라이브러리 필요 스프링부트 WAS(웹 어플리케이션 서버)의 버전이 낮거나 WAS가 아닌 환경이라면 추가 라이브러리 필요 내장 tomcat 이용 - 별도의 라이브러리 추가 없이 업로드 사용 가능 [ 스프링부트 ] 일반 업로드 1. application.properties 설정 application.properties ################### 파일업로드 관련 설정 ########..

article thumbnail
[Spring Boot] RestAPI, 부메랑, @RestController, @RequestBody, CrossOrigin
Server/Spring boot 2023. 2. 16. 17:29

API 확장프로그램 부메랑 설치 크롬 웹 스토어에서 boomerang 확장프로그램 다운 받은 후 사용 quick request 만들어서 사용 MIME Multipurpose Internet Mail Extensions의 약자로 파일 변환을 뜻함 인코딩 : 바이너리 파일에서 텍스트 파일로 변환 디코딩 : 텍스트 파일에서 바이너리 파일로 변환 MIME 형식 : image / gif [파일의 종류 / 파일포맷] RestAPI 기존의 @Controller는 객체 Model에 담아서 뷰에 전달 But, restAPI는 서버간 통신을 위한 Controller @RestController는 return에 처리하는 데이터를 조금 다른 타입으로 처리하는 형식 return에 보내고 싶은 데이터를 담음 객체(데이터)를 반환..

728x90
250x250