공부/Spring

공부/Spring

    [스프링 인 액션] Chapter 5 구성 속성 사용하기

    이 글은 크레이그 윌즈의 "스프링 인 액션(5판)"을 읽고 간략히 정리한 글이다. Auto-Configuration 세부 조정 스프링 환경 추상화environment abstraction란 구성 가능한 모든 속성을 한 곳에서 관리하는 개념을 말한다. 다음같은 속성으로부터 원천 속성을 가져와서 앺르리케이션 컨텍스트 빈이 사용할 수 있게 해준다. JVM 시스템 속성 운영체제 환경변수 명령행 인자 command-line argument 애플리케이션 속성 구성 파일 *.xml, *.yml, *.properties 파일에 datasource, 서버, 로깅 등의 속성을 정의할 수 있다. (예시 ↓↓↓) spring: datasource: jndi-name: server: port: 3000 ssl: key-stor..

    [스프링 인 액션] Chapter 4 스프링 시큐리티

    [스프링 인 액션] Chapter 4 스프링 시큐리티

    이 글은 크레이그 윌즈의 "스프링 인 액션(5판)"을 읽고 간략히 정리한 글이다. 스프링 시큐리티 활성화 pom.xml에 의존성 추가 org.springframework.boot spring-boot-starter-security org.springframework.security spring-security-test 첫번째는 스프링 부트 보안 의존성이고, 두번째는 보안 테스트 의존성이다. 그러면 위와 같이 기본 인증 대화상자가 나타난다. (어느 페이지를 접속하던 /login으로 리다이렉트) (user / password는 무작위로 자동 생성) 보안 스타터를 프로젝트 빌드 파일에 추가만 했을 때 제공되는 기본 보안 구성 모든 HTTP 요정 경로는 인증authentication되어야 한다. 어떤 특정 역할..

    [스프링 인 액션] Chapter 3 데이터로 작업하기

    이 글은 크레이그 윌즈의 "스프링 인 액션(5판)"을 읽고 간략히 정리한 글이다. 데이터를 저장하고 관리하는 법 JDBC JDBC 의존성을 추가한 후, 인터페이스와 구현 클래스를 둔다. public interface IngredientRepository { Iterable findAll(); Ingredient findById(String id); Ingredient save(Ingredient ingredient); } @Repository public class JdbcIngredientRepository implements IngredientRepository { private JdbcTemplate jdbc; @Autowired public JdbcIngredientRepository(JdbcTe..

    [스프링 인 액션] Chapter 2 웹 어플리케이션 개발하기

    이 글은 크레이그 윌즈의 "스프링 인 액션(5판)"을 읽고 간략히 정리한 글이다. 정보 보여주기 데이터를 가져오고 요청을 처리하는 것이 컨트롤러. 데이터를 저장하는 것이 모델. 브라우저에 보여주는 데이터를 HTML로 나타내는 것은 뷰. @Slf4j → 이 애노테이션은 다음 코드를 추가한 것과 같은 효과를 낸다. private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(클래스이름.class); @Controller 애노테이션은 클래스가 컨트롤러로 식별되게 하며, 컴포넌트 검색이 되게 한다. Application Context가 Bean으로 이 클래스의 인스턴스를 자동 생성한다. @RequestMapping, @GetMappi..

    [스프링 인 액션] Chapter 1 스프링 시작하기

    이 글은 크레이그 윌즈의 "스프링 인 액션(5판)"을 읽고 간략히 정리한 글이다. 스프링이란? Spring Application Context : 스프링에서 제공하는 컨테이너Container. 애플리케이션 컴포넌트들을 생성하고 관리한다. Bean 빈 : 애플리케이셔 컴포넌트 의존성 주입 Dependency Injection : 컴포넌트에 의존하는 다른 빈의 생성과 관리를 컨테이너가 해준다. XML 또는 자바로 Configuration 설정을 할 수 있는데, 보통은 Auto Configuration(자동 구성)이 있어서 알아서 다 해준다. Auto Configuration은 autowiring(자동 연결)과 component scan(컴포넌트 검색)을 기반으로 한다. component scan을 통해 cl..

    [스프링 프레임워크 Core] 스프링 IoC 컨테이너와 빈

    [스프링 프레임워크 Core] 스프링 IoC 컨테이너와 빈

    [인프런] 백기선 님의 강의 「스프링 프레임워크 핵심 기술」을 듣고 정리 IoC Inversion of Control : 의존 관계 주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는 게 아니라, 주입 받아 사용하는 방법을 말한다. 스프링 IoC 컨테이너 BeanFactory 애플리케이션 컴포넌트의 중앙 저장소 빈 설정 소스로부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. 빈(Bean) 스프링 IoC 컨테이너가 관리하는 객체 장점 의존성 관리 스코프 : 싱글톤 라이프사이클 인터페이스 빈에 등록되어 있는 객체를 손쉽게 주입받아서 사용할 수 있다. 스프링 IoC 컨테이너에 등록되는 빈들은 기본적으로 싱글톤 스코프로 등록이 된다. 싱글톤이란 ..

    스프링 AOP & PSA

    스프링 AOP & PSA

    [인프런] 백기선 님의 강의 「예제로 배우는 스프링 입문 (개정판)」 을 듣고 정리 스프링 AOP AOP란 Aspect-Oriented Programming의 약자로 관점 지향 프로그래밍이란 뜻이다. 흩어진 코드를 한 곳으로 모은다고 생각하면 된다. 코드를 예시로 들자면, class A { method a() { AAAA 오늘은 7월 4일 미국 독립기념일입니다. BBBB } method b() { AAAA 저는 아침에 운동을 다녀와서 밥을 먹고 빨래를 했습니다. BBBB } } class B { method c() { AAAA 점심은 마파두부를 먹었습니다. BBBB } } 이와 같이 각기 다른 메소드, 다른 클래스에서 'AAAA', 'BBBB' 부분이 반복되고 있다. 이런 공통 부분을 따로 모아서 별도의..

    스프링 IoC

    스프링 IoC

    [인프런] 백기선님의 강의 「예제로 배우는 스프링 입문 (개정판)」 을 듣고 정리 스프링 IoC IoC = Inversion of Control IoC란 제어권이 역전되었다. 는 의미다. 일반적인 경우, 자기가 만든 의존성을 자기가 사용한다. 이 의존성에 대한 제어권이 역전되었다는 것은 이 제어권을 원래는 자기자신이 가지고 있었는데 다른 누군가에게 넘어갔다는 의미이다. 다음 코드를 봐보자. class OwnerController { private OwnerRepository repository = new OwnerRepository(); } 위 코드에서 OwnerController 클래스는 내부에서 OwnerRepository 객체를 직접 만들어 쓴다. 이 경우, 의존성에 대한 제어권이 자기자신에게 있다..