Spring (22) 썸네일형 리스트형 Spring 의존성 주입 실습 Spring IoC컨테이너가 관리하는 자바 객체를 빈(Bean)이라는 용어로 부른다. Spring 에서의 빈은 ApplicationContext가 알고있는 객체, 즉 ApplicationContext가 만들어서 그 안에 담고있는 객체를 의미한다. SpringIoC 컨테이너에 빈을 등록 하는 방법은 두가지가 있다. Compnent Scanning 빈 설정 파일에 직접 빈을 등록 (XML) Setter를 이용한 DI 실습(XML 설정 방식) bean 태그 속성 속성 이름 설명 id 빈 객체의 고유 이름으로, 빈 id를 이용하여 빈에 접근 name 객체의 별칭 class 생성할 클래스, 패키지 명까지 함께 입력 되어야 한다. constructor-arg 생성자를 이용해 값을 주입할 때 사용한다 property.. Intellij Spring 환경 세팅 Intellij 개발툴을 사용 하면서 스프링 부트를 사용 하지 않고 레거시 Spring 환경 세팅을 진행 해보았다. - 프로젝트 생성- maven 선택 후 Create from archetype 체크 해제 Name, GroupID, ArticatId 임의 지정 프로젝트 생성 후 AddFramework Support -> Spring MVC 체크 후 OK 클릭 pom.xml에서 Spring 세팅을 진행 하기 때문에 lib 디렉토리 및 파일 전체 삭제 -pom.xml- Spring 설정 간 필요 dependecy 추가 dependnecy는 https://mvnrepository.com/ 해당 사이트에서 손쉽게 다운 할수있다. - Project Structure 에 진입하여 Available Elements .. 의존성 주입 의존성 주입이란 개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여 하는 것이 아니라 컨테이너가 연관 관계를 직접 규정 하는것, 코드에서 직접적인 연관관계가 발생하지 않으므로 각 클래스들의 변경이 자유로워 진다. 의존성 주입 적용시 생기는 장점들 클래스들간의 의존 관계를최소화하여 코드를 단순화 시킬수있다. 애플리케이션을 더 쉽게 유지 및 관리 할 수있다. 의존성 주입은 객체의 생ㅇ성, 소멸과 객체간의 의존관계를 컨테이너가 제어한다. 스프링에서 의존성 주입을 구현 하려면 XML이나 어노테이션을 이용해 객체를 주입하여 객체들의 의존 관계를 맺어주면 된다. DI를 사용하여 각 객체들간의 의존관계를 최소화 함으로써 코드를 단순화 하고 유지보수를 쉽게 할 수 있다. DI는 객체의 생성, 소멸, 의존 관계를 개발자.. 스프링 프레임워크 스프링 프레임워크(Spring FrameWork) 자바 웹 어플리케이션 개발을 위한 오픈 소스 프레임워크, 기존 프레임워크보다 가벼운 경량 프레임워크이다. 또한 스프링은 경량 컨테이너(light Weight Container)라고 부른다. 애플리케이션에서 사용되는 여러 가지 빈(클래스객체)를 개발자가 아닌 스프링이 권한을 가지고 직접 관리한다. 스프링 이전에 사용되던 프레임워크로 EJV(Enterprise JavaBeans)라는 것이 있는데 EJB는 실행 시 무거워 여러가지 문제를 일으키는 단점이 있다. 이러한 단점을 개선시켜 나온것이 스프링 프레임워크이다 -스프링 특징- EJB보다 가볍고 배우기도 쉬우며 경량 컨테이너의 기능을 수행한다. 제어역행(IoC, Inversion of Control)기술을 이.. Spring boot를 사용하여 구글 로그인 연동(OAuth 2.0 사용) -구글 로그인 연동하기- (사용자 정보를 담당하는 User.class 도메인) -사용자 정보를 담당할 user.class 생성- @Enumerated 어노테이션은 Enum 클래스 Role에 저장된 키값을 String 문자열(EnumType.STRING)으로 저장할수있게 도와준다.(Role.Enum에 저장된 ROLE_GUEST, 손님 ROLE_USER, 일반사용자 값을 가져온다.) @Entity 어노테이션은 User.class를 DB 테이블에 매핑 시켜주는 역활을 한다. @NoArgsConstructor 어노테이션은 파라미터 생성자를 빈값으로 생성한다. (각 사용자의 권한을 관리할 Role.enum) enum 클래스는 클래스처럼 보이게 하는 상수값이다. enum상 String 문자열 상수 리스트로 GUES.. 스프링 시큐리티와 OAuth 2.0 로그인 기능 구현 스프링 시큐리티는 막강한 인증과 인가기능을 가진 프레임 워크다. (인터셉터, 필터기반의 보안 기능을 구현 하는것보다 스프링 시큐리티를 통해 구현하는것을 적극 권장 하고있다.) -스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트- 많은 서비스에서 로그인 기능을 id/password 방식보다는 구글, 페이스북, 네이버 로그인과 같은 소셜 로그인 기능을 사용한다. > 직접 구현 할 경우 많은 리소스가 투입된다. - 구글 서비스 OAuth 2.0 등록 방법- 1. 사이드바를 클릭 하여 API 및 서비스 클릭 > 사용자 인증 정보 클릭 2. 사용자 인증 정보 만들기 클릭 > OAuth 클라이언트 ID 선택 3. 필요한 범위 선택 email, openid, profile 4. 승인된 리디렉션 URI 입력 -.. 이전 1 2 3 다음