초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) jdbcTemplate 스프링을 사용하면 DataSource나 Connetion, Statemnt, ResultSet을 직접 사용하지 않고 JdbcTemplate을 이용해서 편하게 쿼리를 실행할 수 있다. query() 메서드 jdbcTemplate 클래스는 SETECT 쿼리 실행을 위한 query() 메서드를 제공한다. query() 메서드는 sql 파라미터로 전달받은 쿼리를 실행 → RowMapper를 이용해서 ResultSet의 결과를 자바 객체로 변환 sql 파라미터가 (select * from member where email =?) 인덱스 기반의 파라미터를 가진 쿼리이면 args 파라..
초보 웹 개발자를 위한 스프링 5 프로그래밍 입문(최범균 저)의 chap08 jdbcTemplate 예제를 따라 하다 main 클래스 (MainForMemberDao)를 실행하는데 아래와 같은 오류가 발생했다. java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'. 원인 어떤 오류인가? 블로그도 보고 공식 문서를 참고해 보니, MySQL은 사용자 계정 암호에 대해 SHA-256 해싱을 구현하는 두 가지(sha256_password, caching_sha2_password) 인증 플러그인을 제공하는데, MySQL 8.0부터 caching_sha2_password가 기본 인증 플러그인이라고 한다. caching_..
초보 웹 개발자를 위한 스프링 5 프로그래밍 입문(최범균 저)의 chap08 jdbcTemplate 예제를 따라 하다 main 클래스 (MainForMemberDao)를 실행하는데 아래와 같은 오류가 발생했다. 1월 16, 2023 6:44:53 오후 org.apache.tomcat.jdbc.pool.ConnectionPool checkPoolConfiguration WARNING: maxIdle is larger than maxActive, setting maxIdle to: 10 Mon Jan 16 18:44:54 KST 2023 WARN: Establishing SSL connection without server's identity verification is not recommended. Acc..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) JAVA에서는 JBDC API를 사용하거나 JPA, MyBatis 같은 기술을 이용해서 DB를 연동처리한다고 한다. 이 책(초보.. 스프링 5 입문)에서는 JBDC를 위해 스프링이 제공하는 JdbcTemplate사용법에 대해 설명하고 있다. 사전에 DB 연동에 대해 알고 있지 않았기 때문에 JBDC에 대해 너무 잘 설명해 놓은 블로그가 있어서 보면서 공부하고 있다. JBDC Java DataBase Connectivity 약자 (자바 데이터베이스 연결) DB에 연결해서 select, insert, update, delete 작업을 한다. 스프링이 제공하는 또 다른 장점 트랜잭션 관리가 쉽다는 것..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) AOP Aspect Oriented Programming의 약자 (관점 지향 프로그래밍) 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법 핵심 기능과 공통 기능의 구현을 분리하여 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어 준다. 기본 개념은 핵심 기능에 공통 기능을 삽입하는 것. 핵심 기능의 코드를 수정하지 않으면서 공통 기능의 구현을 추가하는 것이 AOP 공통 기능을 Aspect라고 함 스프링 AOP는 프록시 객체를 자동으로 만들어준다. 3가지 방법 - 컴파일 시점에 코드에 공통 기능을 삽입하는 법 - 클래스 로딩 시점에 ..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 컨테이너 초기화와 종료 스프링 컨테이너는 초기화 → 종료 라이프 사이클을 갖는다. 1. 컨테이너 초기화 후에 컨테이너를 사용할 수 있다. 2. getBean()과 같은 메서드를 통해 컨테이너에 보관된 빈 객체를 구할 수 있다. 3. 사용이 끝나면 컨테이너를 종료하는데 close() 메서드를 사용하여 종료한다. 또한, 컨테이너의 사이클에 따라 다음 작업도 함께 이루어진다. 컨테이너 초기화 → 빈 객체 생성, 의존 주입, 초기화 컨테이너 종료 → 빈 객체 소멸 public class Main { public static void main(String[] args) { // 1. 컨테이너 초기화 An..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 컴포넌트 스캔 자동 주입과 함께 사용되는 추가기능 스프링이 직접 클래스를 검색하여 빈으로 등록해주는 기능 @Component 애너테이션으로 스캔 대상 지정 @Component 애너테이션은 해당 클래스를 스캔 대상으로 표시하기 때문에 스프링이 클래스를 검색하여 빈으로 등록하게하려면 이 클래스에 @Component 애너테이션을 붙여야한다. @Component 애너테이션에 속성값을 줄 수 있다. 속성값을 주면 그 값을 빈 이름으로 사용한다. import org.springframework.stereotype.Component; // 속성값을 붙이면 빈 이름은 속성값이 빈 이름이다. @Component..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) @Autowired를 이용한 의존 자동 주입 기존 생성자 또는 메서드를 이용해 의존을 주입했었다면, @Autowired 애노테이션을 이용하면 스프링이 자동으로 빈 객체를 찾아 주입해 준다. 자동 주입할 대상이 필수가 아닌 경우 @Autowired 애노테이션의 required 속성을 false로 지정한다. @Autowired(required=false) @Autowired 애노테이션은 메서드에도 붙일 수 있다. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap04 프로젝트 폴더 생성 프로젝트(sp5-chap04) 하위 폴더로 src\main\java 생성 sp5-shap04 폴더 내..
쓰레드 Thread 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것 (쉽게 비유하면 일꾼?) 두 개이상의 쓰레드를 가진 프로세스를 멀티쓰레드 프로세스라고 한다. 실행 중인 사용자 쓰레드(user thread)가 하나도 없을 때 프로그램은 종료된다. java의 main메서드도 main쓰레드이다. 쓰레드 구현 1. Thread 클래스를 상속받는법 → Thread 클래스를 상속받으면 다른 클래스를 상속 받을 수 없다. (단일상속) 인스턴스 생성 방법 → Thread의 자손 클래스의 인스턴스를 생성한다. class MyThread extends Thread { public void run() { /* 작업내용 */ } // Thread 클래스의 run()메소드를 오버라이딩 } class ThreadEx1 ..
인터페이스 (interface) 추상을 미완성 설계도라고 본다면 인터페이스는 설계도이며, 보통(?) 다른 클래스를 쓸 때 도움을 주기 위해 사용된다. 모든 멤버변수는 상수와 추상 메서드만 가질 수 있다. ※ jdk1.8 부터 static 메서드와 디폴트(default) 메서드도 가질 수 있게 되었다. 다중 상속이 가능하다. 클래스 작성과 같이 인터페이스 이름 앞에 키워드 'interface'를 작성하면 된다. interface 인터페이스이름 { public static final 타입 상수이름 = 값 ; // 상수 public abstract 메서드 이름(매개변수 목록); // 추상메서드이기 때문에 {} 없음 } 인터페이스는 인스턴스 생성이 안되며 implements로 다른 클래스에서 구현한다. inte..
- Total
- Today
- Yesterday
- 한글 형태소 분석기
- path variable
- 디자인 패턴
- Python
- 회원 로그인
- 커맨드 객체
- API
- error: failed to push some refs to 'https://github.com/
- git공부
- 면접을 위한 CS 전공 지식 노트
- 웹페이지
- git 공부
- git
- 톰캣
- musma
- 혼자 공부하는 파이썬
- 회원가입
- django.contrib.auth
- Spring
- 환경 변수 설정
- Django tutorial
- 암호화
- Java
- authenticate()
- Magazine K
- django
- 배열
- 검색 결과 내 페이지네이션
- python3
- django-environ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |