일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- google oauth
- flask
- web
- javascript
- Spring Security
- jenkins
- html
- session
- JPA
- Project
- jQuery
- JWT
- python
- DI
- server send event
- 생명주기 콜백
- bean
- Java
- Hibernate
- real time web
- 항해99
- spring
- hanghae99
- WIL
- cookie
- SseEmitter
- programmers
- Stream
- Anolog
- oauth
- Today
- Total
목록spring (23)
끄적끄적 코딩일지
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/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에게 요청을 하여 사용..
드디어 끝이 보이네.... 부트캠프 중간중간 조금씩 만들어 가니까 진도가 빠지지 않는다. 간단한 프로젝트라서 맘잡고 만들면 2~3일이면 될것같은데 생각보다 오래걸린다. 그래도 월드컵 게임 진행화면과 결과 화면까지 만들었으니 남은건 로그인, 댓글 기능만 남았다. 일단 메인화면 쪽 코드이다. 번호 제목 등록자 플레이횟수 등록날짜 1 test member number ► 플레이하기 Controller private final WorldCupGameService service; @GetMapping(value = "/") public String index(Model model){ model.addAttribute("games",service.getRepo().findAll()); return "main"; }..
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으로 객체를 관리하는 방법을..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pDkOl/btrDqdmNgpR/Qiuf2nk1kogDz8XsvpkNeK/img.png)
Spring이란? 스프링(Spring)이란 Java를 위한 오픈 소스 어플리케이션 프레임워크로써 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공하고 있다. Spring 특징 1. 경량 컨테이너(DI)로써 Java객체를 직접 관리한다. 객체의 생성, 소멸과 같은 라이프 사이클을 Spring에서 제어하여 사용자가 필요한 객체를 제공해 준다. 2. Plain Old Java Object 방식의 프레임워크이다. 특정 인터페이스를 구현하거나 상속받을 필요가 없어 기존에 존자하는 라이브러리등을 지원하기에 용이하다. ✱Plain Old Java Object : Java EE 등의 중량 프레임워크들이 등장하면서 무거운 객체를 만들게 된 것에 반발해서 사용하게 된 용어이다. 3. IoC(Inversion of ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/oVZfs/btrC3DTAsVk/V99ZuyHB5UJWYYPQbrnZ01/img.png)
저번글에서 대충 선택한 이미지 만큼 동적으로 해당 이미지와 이미지의 타이틀을 입력하는 항목을 추가하는것까지는 하였다. 2022.05.23 - [Project/[Spring] 이미지 월드컵 만들기] - [Spring]이미지 월드컵 만들기(5) - 이미지 업로드 설계(1) [Spring]이미지 월드컵 만들기(5) - 이미지 업로드 설계(1) 원래 저번글에서 마치고 Spring Security를 하려고 했으나 괜히 아직 없는 기능에 보안부터 적용하는것 같아서 그냥 UI부터 설계하기로 했다. 만들어야할 페이지는 메인(월드컵 리스트 표시),로그인, blablacoding.tistory.com 그렇게 만들었으니 서버에 올라가는걸 테스트 할 차례 일단 그대로 서버에서 어떻게 값이 날라올지 확인해 보았다. @PostM..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bZMuje/btrCW1OJ7gG/vXJMnzFBjGBqGBINShhRw0/img.png)
원래 저번글에서 마치고 Spring Security를 하려고 했으나 괜히 아직 없는 기능에 보안부터 적용하는것 같아서 그냥 UI부터 설계하기로 했다. 만들어야할 페이지는 메인(월드컵 리스트 표시),로그인, 회원가입, 월드컵 게임 페이지, 월드컵 게임 결과 페이지, 월드컵 게임 등록 페이지.... 분명 단순한 토이프로젝트로 시작하려고 했었는데 왤케 만들 페이지가 많지... 토이프로젝트니까 걍 로그인 기능 뺄까.... 어찌됬든 마음 다잡고 다시 개발 시작 일단 Javascript코드가 가장 복잡할것 같은 월드컵 게임 페이지부터 만들기로 했다. 그리고 이미지 선택 이벤트 js 파일 let sessionStorage = window.sessionStorage; let items = sessionStorage.g..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/uI66v/btrCs4GaOKb/Luh9bdcvOlOm3HD1K8dc21/img.png)
저번 글에서 필요한 데이터를 저장할 Table을 구현하였다. 2022.05.18 - [Project/[Spring] 이미지 월드컵 만들기] - [Spring]이미지 월드컵 만들기(3) - DB Entity 설계하기 [Spring]이미지 월드컵 만들기(3) - DB Entity 설계하기 이미지 월드컵의 주요 기능을 생각해 보자 기본적으로 로그인 기능 넣고 일단 한 게임안에 다수의 사진이 들어가야한다. 사진에는 간단한 타이틀이 붙는다. 그리고 게임이 끝났을때는 각 사진 blablacoding.tistory.com 이제 해당 데이터를 활용할 기능을 만들 차례이다. 일단 필요한 기능을 정의해 보자 단 데이터를 단순 조회하고 쓰고 지우는 기능은 제외해보자 1. ID 중복체크( 회원가입 ) 2. PW 암호화 3...