일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- JPA 낙관적락
- Optimistic Lock
- 서버개발캠프
- JPA 동시성
- JPA Lock
- 스프링
- 안드로이드
- annotation
- JPA 비관적락
- spring security
- 암호화
- Redis
- 캠프
- 스프링 log
- spring
- 서버
- Android
- component
- 디자인 패턴
- spring security 인증
- bean
- Inno DB
- Pessimistic Lock
- 개발
- JPA
- flask
- 스프링 로그
- 낙관적락 비관적락 차이
- 스마일게이트
- Transaction isolation level
- Today
- Total
목록스프링 (18)
모르는게 많은 개발자
예전 포스팅에서 security 관련 예제를 다룬적 있다. 당시에는 내부 프로세스를 모르고 예제를 보면서 UserDetails, UserDetailsService, Authentication만 커스텀해서 인증을 다뤘다. 이번 토이프로젝트에서 OAuth로그인을 도입하다 내부프로세스를 세세히 분석해게 되어 까먹기 전에 분석한 내용을 정리하고자 한다. 이 글을 읽을 때 기본적으로 Principal, Authorities, UserDetails, UserDetailsService, Authentication의 개념을 알고 있다는 전제하에 글을 쓴다. Spring Security는 기본적으로 여러개의 Filter객체들이 순차적으로 수행되는 방식이다. Spring Security는 Filter객체들의 집합체라고도 ..
토이 프로젝트를 진행하며 페이징 작업을 해야하는데 PageHelper + thymeleaf + Mybatis로 진행한 정보가 부족한것 같아 직접 포스팅하고자 글을 쓴다. 이 글에는 검색기능까지 포함된 리스트 페이징을 다뤄본다. 1. PageHelper 의존성 추가, application.yml 설정 일반적으로 페이징을 구현한다하면 여러가지 다소 귀찮은 작업들이 들어간다.(DB 데이터 개수, 현재 페이지, 이전 페이지, 다음 페이지 등등) PageHelper는 이러한 귀찮은 작업들을 다 구현해놓은 Github에 올라와있는 오픈소스다 github.com/pagehelper/Mybatis-PageHelper pagehelper/Mybatis-PageHelper Mybatis通用分页插件. Contribute t..
최근 인턴을 통해 PHP Laravel을 이용해 개인 프로젝트를 진행했고, 이것을 Spring Boot로 Migration하는 작업을 진행하고 있다. 그리고 회원 기능이 필요하여 Spring Security를 공부하여 간단하게 회원기능을 구현했다. 이번 글에서 spring security 간단 구현을 통해 어떠한 방식으로 구현되는지 정리해보려 한다. spring-security에 대한 자세한 개념은 추후 더 공부하여 정리하려한다. 이번 글에서는 구현자체에 포커스를 맞춘다. 1. 완성 상태 먼저 예제 결과부터 보자 위처럼 간단한 회원가입을 진행할 수 있는 페이지가 있다. 로그인 페이지는 spring security에서 제공하는 로그인 페이지를 사용한다. 회원가입한 아이디로 로그인시 유저 권한을 얻은 사람만..
최근에 JPA를 학습하면서 JPA에서 가장 중요하다고 볼 수 있는 영속성 컨텍스트에 대해 공부했다. 오늘은 JPA의 개념을 간단히 알아보고 영속성 컨텍스트에 대해 알아보자. 1. 영속성 컨텍스트란? 영속성 컨텍스트(Persistence Context)는 JPA에서 'Entity를 영구 저장하는 환경'이라고 해석할 수 있다. EntityManagerFactory에서 생성된 EntityManager로 Entity를 관리(저장, 조회 등)할 때 영속성 컨텍스트에 엔티티를 보관하고 관리한다. 2. Entity 생명주기 Entity는 비영속, 영속, 준영속, 삭제 4개의 상태가 있다. 비영속 영속성 컨텍스트와 전혀 관계가 없는 상태이다. 쉽게 말해 Entity 객체를 persist하지 않아 영속성 컨텍스트에 저장..
Spring Boot를 이용해 간단 Rest API를 만들어보자. 1. Spring Starter Project 설치 2. 아래와 같이 Spring Data JPA, MySQL Driver Check 3. application.properties src/main/resources에 보면 application.properties파일이 있다. application.properties = spring boot 설정 파일 application.properties에 JPA, Mysql을 설정해야한다. 아래와 같이 입력후 저장. #spring boot 서버 주소와 포트 입력 server.address=localhost server.port=1234 #콘솔에 SQL문을 출력해줄지 말지 결정 spring.jpa.sho..
지금까지 Xml파일을 통해서 bean을 관리해오는 것을 봤다. 이제는 이 Xml을 Java코드로 바꿀 수 있는 방법을 알아보자. 1. @Configuration JAVA config를 사용하기 위해서는 @Configuration Annotation을 사용해야 한다. @Configuration @ComponentScan("spring.di.ui") public class DIConfig { @Bean public Exam ex() { return new NewlecExam(); } } 위의 코드는 XML을 자바 코드로 변경했을 때를 나타낸다. @Bean태그를 통해 bean을 생성하고 함수의 이름이 XML에서는 id가 된다. 여기서 Exam의 빈을 생성되는 동작 방식이 궁금할 수 있다. @Bean태그를 통해..
이번 포스팅에서는 기존의 XML에 bean(객체를)을 생성했던 방식에서 직접 JAVA 코드에서 객체를 생성하는 방법에 대해 알아보자. 1. @Component 먼저 기존의 XML을 통해 bean을 만들던 것을 보자. 위의 코드처럼 태그를 사용해서 객체를 생성했다. 이것을 @Component Annotation을 이용해서 아래와 같이 할 수 있다. @Component("console") //"console"은 bean의 id public class InlineExamConsole implements ExamConsole { @Autowired private Exam exam; public InlineExamConsole() { } public InlineExamConsole(Exam exam) { this..
저번 포스팅에서 XML을 이용해 bean에 DI를 주입하는 방법을 해봤다. 이번에는 Annotation @Autowired와 @Qualifier을 이용해 DI를 주입하는 것을 써보려한다. 1. @Autowired @Autowired는 기존에 XML에 , 를 통해 DI를 주입해오던 방식을 자동으로 해주는 Annotation이다. //기존에는 태그를 이용해 exam 객체를 주입했다. 위의 방식에서 속성 DI역할을 @Autowired를 활용하여 DI를 주입 할 수 있다. public class InlineExamConsole implements ExamConsole { private Exam exam; public InlineExamConsole() { } public InlineExamConsole(Exam..