원지의 개발
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] SpringMyweb 실습(3) - 페이지네이션, 검색 기능
Server/Spring 2023. 2. 9. 17:21

SpringMyweb(3) 페이징 처리 1. service, mapper 영역에 getList 함수를 선언 2. 등록번호 역순으로 데이터를 조회해서 가지고 나옴 3. model에 담아서 (여기서 모델에 담아줘야 함) 4. 화면에서는 반복문으로 처리 페이지 검색처리 1. 화면에서는 page, amount, searchType, searchName을 넘김 2. criteria에서 검색값을 받음 = getList로 cri 넘김 3. sql문을 바꿈 (동적쿼리) 4. total sql도 바꿈 (동적쿼리) = getTotal로 cri 넘겨서 total값 받아옴 5. 페이지 a태그 클릭시 searchType, searchName을 쿼리스트링으로 넘김 6. 검색 키워드 유지 페이지네이션 1. (페이지네이션 클릭은) ..

article thumbnail
[Spring] SpringMyweb 실습(2) - 게시판 구현
Server/Spring 2023. 2. 8. 19:07

SpringMyweb(2) 게시판 구현 순서 1. 컨트롤러 생성 (화면 확인) 2. 등록 처리 3. 테이블 생성 4. DB관련 설정 (root - xml작업) 5. BoardVO 생성 (DB컬럼명과 반드시 동일하게 생성) 6. Service 구현 7. DAO 구현 8. 마이바티스 DB작업 9. 상세보기 10. 변경 11. 삭제 12. 페이징 처리 DB(MySQL) 생성 및 기본 컨트롤러, 서비스 연결 2023.02.03 - [Spring] - [Spring] ??? MySQL 설치, Spring,DB연결 ▶ JDBC, Spring-JDBC, DataSource, HikariCP, Spring-test [Spring] ??? MySQL 설치, Spring,DB연결 ▶ JDBC, Spring-JDBC, Da..

article thumbnail
[Spring] tiles, Lombok, SpringMyweb 실습(1) - 생성 및 기본 설정
Server/Spring 2023. 2. 7. 19:57

tiles 웹 페이지의 상단, 하단 메뉴와 같이 반복적으로 사용되는 부분들에 대한 코드를 분리해서 한 곳에서 관리를 가능하게 해주는 프레임워크 ex) 보통 header를 resources-layout 폴더에 넣고 index.jsp에서 넣는데 추천X, 페이지명이 바뀌면 많은 파일을 전부 수정해줘야 하기 때문에 그것을 방지 라이브러리 추가 org.apache.tiles tiles-extras 3.0.8 org.apache.tiles tiles-servlet 3.0.8 org.apache.tiles tiles-jsp 3.0.8 pom.xml에 tiles 라이브러리 ▲ 넣기 tiles는 반드시 jstl이 필요함 ▼ javax.servlet jstl 1.2 tiles 선언 tiles를 사용하는 뷰리졸버(view ..

article thumbnail
[Spring] MyBatis, Mapper, TestMapper 실습
Server/Spring 2023. 2. 6. 18:30

MyBatis 라이브러리이자 프레임워크 (Spring에 포함x) 개발자가 지정한 SQL, 고급 매핑을 지원하는 프레임워크 영속성 프레임워크: 파일을 영구적으로 저장해놓고 씀 DAO 계층을 대신 = DAO 필요 없음 DAO의 Interface의 구현클래스를 xml 파일이 대신함 복잡한 JDBC코드 걷어냄 = sql문만 남음 spring에서 사용하려면 MyBatis-Spring module 다운받아야 함 전통적인 JDBC 프로그램 MyBatis 직접 Connection 생성 자동 Connection 생성 직접 Close() 처리 자동 Close() 처리 직접 PreparedStatement 생성 자동 PreparedStatement 처리 Pstmt의 setxxx() 직접 처리 #{name} 을 통한 ? 처리..

article thumbnail
[Spring] MySQL 설치, Spring,DB연결 ▶ JDBC, Spring-JDBC, DataSource, HikariCP, Spring-test
Server/Spring 2023. 2. 3. 18:44

MySQL MySQL 설치 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.32 2.4M (mysql-installer-web-community-8.0.32.0.msi) MD5: 0f882590f8338adc614e9dc5cb00ca0b | Signatu dev.mysql.com 다운받은 후 압축 해제 Server - 최신 8버전 Workbenc..

728x90
250x250