여니의 프로그래밍 study 225

[Spring] 스프링 mvc 시작하기 (Chapter 9)

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 1. 프로젝트 생성 > 스프링을 사용하는 이유는? : 스프링이 지원하는 웹 MVC 프레임워크 때문이다. > 스프링은 자바 기반의 프레임워크로 자바로 작성된 애플리케이션을 효과적으로 개발할 수 있도록 도와주는 도구나 프레임워크이다. 즉 자바로 집을 지을 때 그 집을 좀 더 효율적으로 지을 수 있도록 하는 도구가 바로 스프링! > 이클립스 내에 스프링 프레임워크를 사용하는 과정 1. 프로젝트 생성 2. 스프링 라이브러리 추가 3. 사용자의 요청을 처리하는 컨트롤러 작성 4. 의존성 주입 5. XML 또는 어노테이션 설정 6. 서버에 배포 스프링 프레임워크의 핵심인 의존성 주입, 설정관리, 컨트롤러 등의 기능을 활용하여 웹 애플리케이션을 개발하고 실행..

[Spring] DB 연동 - 2 (Chapter 8)

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 1. 트랜잭션 처리란? : 두 개 이상의 쿼리를 한 작업으로 실행해야 할 때 사용하는 것이 바로 트랜잭션이다. 트랜잭션은 여러 쿼리를 논리적으로 하나의 작업으로 묶는 작업이다. 한 트랜잭션으로 묶인 쿼리 중 하나라도 실패할 경우 전체 쿼리를 실패한 것으로 간주하고 DB 상태를 기존 상태로 되돌린다 (롤백) 트랜잭션으로 묶여있는 쿼리가 모두 성공할 경우 commint을 하여 반영한다. Connection conn=null; try { conn= DriverManager.getConnection(jdbcUrl. user, pw); conn.setAutoCommit(false); // 트랜잭션 범위 시작 --- 쿼리 실행 conn.commit(); /..

[Spring] DB 연동 - 1(Chapter 8)

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 1. JDBC란? : Java Database Connectivity, 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고받을 수 있게 해주는 프로그래밍 인터페이스 - 응용프로그램 JDBC DBMS 중간에서 번역해주는 통역자 역할을 진행한다. - JDBC 드라이버는 각 DBMS 회사에서 제공하는 라이브러리 압축파일이다. - JDBC를 사용하면 여러 종류의 데이터베이스에 접속할 수 있으며 데이터베이스에 SQL 쿼리를 실행하고 결과를 처리할 수 있다. JDBC를 사용하여 자바 코드에서 데이터베이스 연결 및 쿼리를 수행할 수 있다. (JDBC를 사용하여 SELECT , DELETE, UPDATE 등의 SQL문을 실행한다) - 스프링의 장점은 트랜잭션..

[Spring] AOP 프로그래밍 (Chapter 7)

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 AOP (Aspect Oriented Programming) > 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 해당 기법은 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어준다. (1) 계승을 구하기 위한 클래스 구현 package chap07; public class ImpeCalculator implements Calculator { @Override public long factorial(long num) { long result = 1; for (long i = 1; i

[Spring] 컴포넌트 스캔 + 빈 라이브사이클과 범위 (Chapter 5~6)

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 1. 컴포넌트 스캔 : 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능 즉, 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록할 수 있도록 하는 기능이다. @Component는 해당 클래스를 스캔 대상으로 표시하며 클래스에 해당 어노테이션을 붙여줘야만 빈으로 등록해야하는 대상으로 인식된다. // 1 @Component public class MemberListPrinter{ private MemberDao memberDao; private MemberPrinter printer; } // 2 @Component("listPriner") public class MemberListPrinter{ private MemberDao..

[Spring] 의존 자동 주입 (Chapter 4)

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 해당 게시글은 초보 개발자를 위한 스프링5 프로그래밍 입문 1. @Autowired , @Resource 의존 자동 주입 기능이 있는 어노테이션 @Autowired : Spring에서 지원하는 어노테이션으로 주입하려고 하는 객체의 타입이 일치하는지 찾고 객체를 자동으로 주입한다. 타입 탐색 일치하는 bean이 없을 경우 @Qualifier 어노테이션을 찾는다. 사용할 수 있는 위치는 멤버변수, setter 메소드 @Resource : Java에서 지원하는 어노테이션이다. name 속성의 이름을 기준으로 탐색 > 없으면 타입 > 타입도 없으면 @Qualifier 어노테이션의 유무를 찾아서 그 어..

[Spring] 스프링 DI (의존, 의존주입, 조립기) - 2

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 해당 게시글은 초보 개발자를 위한 스프링5 프로그래밍 입문 1. 스프링을 이용한 객체 조립과 사용 (1) 스프링 사용 전, 설정 정보 클래스를 작성해야 함 -> 스프링이 어떤 객체를 생성하고 의존을 어떻게 주입할지에 관련하여 정의한 설정 정보들 @Configuration : 스프링 설정 클래스를 의미, 해당 어노테이션을 붙여야 스프링 설정 클래스로 인식함 @Bean : 해당 메서드가 생성한 객체를 스프링 빈이라고 설정함 예를 들어 memberDao() 메서드를 이용해서 생성한 빈 객체는 memberDao라는 이름으로 스프링에 등록된다. @Configuration public class AppCtx{ @Bean public MemberDao mem..

[Spring] 스프링 DI (의존, 의존주입, 조립기) - 1

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 해당 게시글은 초보 개발자를 위한 스프링5 프로그래밍 입문 1. 의존이란? A라는 클래스 내에서 B라는 클래스의 메서드를 실행할 때 A 클래스가 B 클래스에 의존한다고 한다. 즉, 의존이란 변경에 의해 영향을 받는 관계를 의미함 의존 객체 생성하는 방식 (1) 직접 의존 객체를 생성 > A 클래스 내에 B 클래스의 객체를 직접 new 연산자를 통해 생성하는 방식 public class MemberRegisterService { // 의존 객체를 직접 생성 private MemberDao memberDao = new MemberDao(); } // MemberRegisterService 객체를 생성하는 순간에 // MemberDao 객체도 생성된다..

[Spring] 스프링 시작하기 (빌드 관리 도구, 메이븐, 그래들, 빈 객체, 컨테이너)

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 해당 게시글은 초보 개발자를 위한 스프링5 프로그래밍 입문 chapter 2 . 스프링 시작하기 내용을 기반으로 작성되었습니다. 1.빌드 관리 도구 : 메이븐과 그래들은 프로젝트 빌드 관리 도구임. 빌드란? > 소스 코드(java 파일)를 실제 실행 가능한 형식으로 만드는 작업임 java 파일을 컴파일해서 class 파일로 변환하고, resource를 class 파일에서 참조할 수 있는 적절한 위치에 옮기는 등의 과정임 Build는 Compile + 그 외 작업 Run은 Build +실행 https://eboong.tistory.com/645 [Java] 자바 프로그램 실행 과정 및 동작 원리 (feat. JVM) 1. 컴파일이란? (Compil..

Spring Boot 소셜 로그인 구현 (3) | feat. kakaoTalk

https://eboong.tistory.com/653 SpringBoot 소셜 로그인 구현 (1) | feat. KakaoTalk https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 1. Kakao De eboong.tistory.com https://eboong.tistory.com/654 Spring Boot 소셜 로그인 구현 (2) | feat. kakaoTalk 1. 개인정보 가져오는 프로세스 진행 kauth.kakao.com/oauth/authorize?client_id={REST_AP..