스프링5 Circular Dependencies error Circular Dependency에러는 아래와 같이 코드를 구성했을 때 만나게 되었습니다. 비밀번호를 BCryptPasswordEncoder를 사용해 암호화하려는게 목적이었습니다. 지금 다시 코드를 보니 왜 AppSecurityConfig에서는 사용하지도 않을 BCryptPasswordEncoder를 DI받으려고 했는지 모르겠지만, @Autowired BCryptPasswordEncoder bCryptPasswordEncoder; 그때는 잠시 헷갈렸던 것 같습니다. 그래도 덕분에 Circular dependency라는 것은 사용을 권하지 않는다는 것을 알게되었고, 이후에 의존성을 설정할 때 주의해야겠다는 생각도 하게되었습니다. [AppSecurityConfig] @Configuration @Enable.. 2022. 7. 25. em.flush() vs tx.commit() em.flush() 와 tx.commit()의 차이는 무엇일까요? tx.commit()을 하면 내부적으로 em.flush()가 수행된다고 합니다. em.flush()는 데이터를 DB에 저장해주는 역할을 하는데, tx.commit()도 DB에 데이터를 저장하는 용도로 알고 있었기 때문에 tx.commit()은 em.flush()외에 추가적으로 어떤 기능을 하는 것인지 궁금해졌습니다. 1 2 3 4 5 em.flush() - It saves the entity immediately to the database with in a transaction to be used further and it can be rolled back. em.getTransaction().commit - It marks the en.. 2022. 7. 23. Java와 Spring를 공부하며 드는 생각 Data layer와 관련된 공부를 하다보니 data repository를 관리하는 여러 기술(?)들이 있다는 것을 알게되었습니다. 지금까지 들어본 것으로는 JDBC, Spring JDBC, Spring Data JDBC, Spring JPA, Spring Data JPA 이렇게 됩니다. Data라는 단어가 들어간 것과 안 들어간 것이 서로 다른 것이라는 사실을 알고는 배워야 할게 너무 많게 느껴져서 ㅎㅎ이걸 언제 다 배우나ㅎㅎ 라고 생각이 들었습니다. 그래도 다행인 것은 조금 나중에 나온 기술들은 이전 기술의 불편함을 해결하는 방식이고, 기본적인 사용법은 유사하다는 것이었습니다. 무엇보다도 모두 다 DB에 저장된 데이터를 어떻게 가지고 오고 가공할 것인지와 관련된 기술들이므로 데이터 사용과 가공이 핵심.. 2022. 7. 2. [Spring] IOC Container vs Application Container vs Bean Factory 간단 정리 안녕하세요 이번에는 Spring container의 종류에 대해서 간략하게 알아보겠습니다. IOC Container 란? IOC Container는 여러 종류의 container를 포괄하여 지칭하는 generic한 용어입니다. 그렇기 때문에 Application Container도 IOC Container이고, Bean Factory도 IOC Container입니다. Application Container vs Bean Factory Application Container와 Bean Factory, 이 둘의 차이는 무엇일까요? 간단히 차이점을 말하자면 Application Container가 더 많은 기능을 제공한다고 얘기할 수 있겠습니다. Bean Factory++라고도 불리는 Application C.. 2022. 6. 17. [Spring] Spring 시작하기 Spring 살펴보기 한 번 Spring initalizer로 만든 Spring 파일은 일반 java 파일과 어떻게 다른지 간단하게 살펴보겠습니다. Spring initializer로 파일을 만들면 여러 파일들이 한 directory에 생성이 됩니다. 그 중에 main() method가 담긴 파일이 있는데, 일반 java 파일과는 다르게 그 java file의 class에는 @SpringBootApplication annotation이 붙어있습니다! 그리고 main() method안에는 SpringApplication.run()이 실행되고 있네요! 1 2 3 4 5 6 7 8 9 10 //기본적으로 생성되는 코드! @SpringBootApplication public class PracticeApplic.. 2022. 6. 17. 이전 1 다음 반응형