일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring Security
- web
- Hibernate
- Stream
- real time web
- cookie
- hanghae99
- jQuery
- server send event
- DI
- python
- Java
- Anolog
- session
- jenkins
- google oauth
- WIL
- javascript
- JWT
- oauth
- html
- programmers
- 생명주기 콜백
- Project
- JPA
- SseEmitter
- 항해99
- spring
- flask
- bean
- Today
- Total
목록Spring (18)
끄적끄적 코딩일지
Bean을 사용하면서 초기화나 Bean 삭제시 발생시켜야할 이벤트를 지정해야할 때가 있다. 예를들어 Socket통신등 네트워크를 사용하는 객체는 프로그램 시작시 특정 Server와 연결하거나 프로그램 종료시 Bean 삭제시 해당 Server와의 연결을 안전하게 종료해야 할 때가 있다. 이처럼 Bean의 초기화나 종료 작업을 관리하는것을 Bean의 생명주기 콜백이라고 한다. 생명주기 콜백에서 초기화 작업은 모든 의존성이 주입된 후 호출된다. 1. Interface를 사용한 방법 Bean으로 등록되는 객체에 특정 Interface를 implement하는 방식으로 초기화는 InitializingBean, 종료는 DisposableBean을 사용하여 구현한다. @Component public class NetW..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/4Hraw/btrDYLLpBcA/NnlGhFX8AFNUtlQedjaCnK/img.png)
MVC 패턴이란? 디자인 패턴중 하나로써 동적인 web Application을 만들기 위해서 역할에 따라 Model, View, Controller으로 나눈 패턴이다. Jquery 등을 사용한 DOM 조작 없이 동적인 Web Page를 만들수 있어 로직의 분리가 가능하고 유지보수가 간편해진다. Model Application의 Data, 무엇을 할지등을 정의하는 부분으로 내부 비즈니스 로직을 처리하귀 위한 역할을 한다. Model의 상태에 변화가 있을시 Controller와 View 에게 이를 통보하여 View는 최신의 결과를 보여줄 수 있고 Controller는 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있다. Model의 규칙 • 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ei0jAI/btrDZvA4X1G/KjJWmwE18ffoRs6NKjhSek/img.png)
Hibernate 란? JPA으로 구현된 대표적인 ORM 프레임워크이며 Spring에서는 기본적으로 Hibernate를 사용해서 Database와 CRUD를 수행한다. JPA란? 2022.06.01 - [Spring] - [Spring 기초] JPA 사용하기 [Spring 기초] JPA 사용하기 JPA란? Java Persistance API의 약자로 ORM(Object-Relational-Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. Java를 사용해서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스로써 SQL를 blablacoding.tistory.com ORM(Object-Relational Mapping) 일반적으로 알고 있는 Class와 database의 Table을 연결..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/T4cY0/btrDZuux6Ee/NjuKgnqk7g9V5jtcbmyWM1/img.png)
Spring Security란? Spring Web에서 사용자에 대한 인증과 권한등을 관리하고 주요 공격으로부터 어플리케이션을 보호하는 프레임워크이다. 명령형과 반응형 어플리케이션 모두에서 작동 가능하기때문에 Spring 기반 프로그램의 표준 보안 프레임워크로 사용된다. Spring Security 구조 1. 인증하기 사용자 인증을 하고 해당 정보를 저장하거나 권한을 검사하는등의 역할을 수행하는 아키텍처는 다음과 같다. 1. Client에서 로그인 요청(Id, Password 정보 전송) 2. AuthenticationFilter에서 받은 정보를 AuthenticationManager에게 요청 3. AuthenticationManager에서는 AuthenticationProvider에게 요청을 하여 사용..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nFwCh/btrDEQ6TAlB/zIeV4aGRuDmPXgf2PgcxLK/img.jpg)
JPA란? Java Persistance API의 약자로 ORM(Object-Relational-Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. Java를 사용해서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스로써 SQL를 사용하지 않아도 Database의 CRUD가 가능하다는 특징이 있다. ORM(Object-Relational Mapping) 일반적으로 알고 있는 Class와 database의 Table을 연결한다는 의미이며, Java의 Class를 RDB(Relational Database)의 Table으로, 해당 Class가 가지고 있는 속성을 Column으로, 객체 들을 Table의 Row으로 연결해준다. JPA를 구현한 ORM 프레임워크중 대표적으로 Hibernate가 ..
Spring에서 DI를 사용하다보면 대상의 Bean이 2개 이상인 경우가 있다. 예를들어 할인정책을 DiscountPolicy라는 추상화 객체로 만들고 고정할인인 FixDiscountPolicy와 구매 금액에 따라 일정 비율만큼 할인해주는 RateDiscountPolicy를 구현체로 만들고 Bean으로 등록했다고 해보자. // 추상화 @Component public interface DiscountPolicy{ public int discount(int cost); } //구체화 @Component public class FixDiscountPolicy implement DiscountPolicy{ @Override public int discount(int cost){ return cost - 1000..
Bean 등록방법 Spring에서 Bean을 등록하는 방법은 크게 xml 파일을 사용하는 방법과 Annotation을 사용하는방법 2가지로 나뉜다.(최근에는 Annotation을 사용하는 방법이 주로 쓰인다.) xml 파일으로 등록하는 방법 스프링은 시작시에 webapp/web.xml과 webapp/WEB-INF/spring/root-context.xml , webapp/WEB-INF/spring/servlet-context.xml 으로 bean을 등록한다. 1.web.xml : Spring 동작을 위한 설정정보이다. Spring 버전, 프로젝트명, 배포자, Bean을 등록하는 root-context.xml 혹은 servlet-context.xml 위치, welcom page등을 설정할 수 있다. 2. ..
의존관계(Dependency)란? 객체지향 프로그래밍에서 한 객체가 다른 객체를 사용한다는 것은 다른 객체를 생성하거나 다른 객체의 Method를 호출하는 행위를 말한다. 이를 호출하는 객체가 생성하거나 Method를 호출하는 객체를 의존한다고 표현한다. Spring에서 IoC Spring은 IoC(제어의 역전, Inversion of Control)를 지원하는 프레임워크로써 객체의 생성과 소멸같은 라이프사이클을 Spring 프레임 워크가 제어하고 있다. IoC를 사용함으로써 얻을 수 있는 장점은 1. 느슨한 연관관계를 맺음으로써 결합도를 낮춘다. 2. 프로젝트 유지보수가 용의하다.(수정이 최소화 된다.) 3. 메모리 관리가 효율적이다. 등이있다. 그러면 Spring에서 IoC으로 객체를 관리하는 방법을..