일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 올리브영 고객센터
- 스프링부트
- 라이엇 API
- DFS
- 테크잇
- java
- 최주호
- BFS
- 조회수중복
- 인프런
- 멋쟁이사자차럼
- 엔에첸
- 영속성
- 알고리즘
- 백준
- 전적 검색
- 시소 짝꿍
- 백엔드 스쿨3기
- 김영한
- 프로그래머스
- 스프링 입문을 위한 자바 객체 지향의 원리와 이해
- JPA
- 카카오2023신입공채
- 자바
- already use
- 인텔리제이 에러
- 자바ORM표준JPA프로그래밍
- 더티체킹
- 리코쳇로봇
- 포트 죽이는법
- Today
- Total
목록스프링부트 (15)
My Blog
환자를 delete하는데 @OneToMany(mappedBy = "patient") private List wearableEquipment; 이렇게 착용하는장비와 연관되어 있어서 불일치가 나는 에러가 발생했다 그래서 @OneToMany(mappedBy = "patient", cascade = CascadeType.REMOVE) private List wearableEquipment; 이렇게 코드를 고쳐주니 해결되었다.
즉시 로딩 : EAGER LOADING이라고 불리며 @ManyToOne(fetch = FetchType.EAGER)로 설정하면 즉시 로딩을 하겠다고 스프링부트에게 알림 즉시 로딩이란 무엇인가 ? 즉시 로딩은 데이터를 조회할 때 연관된 엔티티를 함께 조회하는 것 쉽게 말해서 Entity는 public class Member{ @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name ="TEAM_ID") private Team team; } 이라고 가정했을 때 Member member = em.find(Member.class, "member1"); 을 실행하면 team이 연관되어 있으니 이 엔티티도 함께 조회가 된다. 이때 회원과 팀 두 테이블을 조회해야 하므로 쿼리를 ..
터미널 키셔서 lsof -i :포트번호 저는 인텔리제이에서 8080을 사용해서 lsof -i :8080 입력해줬습니다. 그러면 PID 정보가 뜨는데 kill 'PID번호' 를 입력하시면 포트가 죽습니다.
스프링 빈과 의존관계 등록은 크게 두가지가 있는데 컴포넌트 스캔과 자동 의존관계 설정은 어노테이션으로 등록하는 것으로 @Service, @Repository, @Controller가 있다. 이 어노테이션들 안에 @Component가 들어가있어서 @Component라고 입력해도 상관이없다. @Autowired = 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다. 이렇게 객체 의존관계를 외부에서 넣어주는 것을 DI(Dependency Injection), 의존성 주입이라고 한다. 2. 자바코드로 직접 스프링 빈 등록하기. package hello.hellospring.service; import hello.hellospring.repository.MemberRepository; import hel..
Junit과 assertj에서 지원하는 테스트 기능으로 TDD를 경험해볼수있다. 어떤 기능을 만들었을 때 그 기능이 잘 동작하는 지를 확인해보려면 테스트코드를 만들어야한다. 테스크코드가 없이 개발을 하면은 혼자하면 상관이 없는데 협업할 때와 라인이 몇만개가 넘어갈 때 테스트코드없이 개발이 거의 불가능한 수준임. 클래스에서 Command + N하면 테스트클래스를 편리하게 만들 수 있음 Command + option + V = 자동으로 값을 담을 수 있는 변수 생성 @Test public void 중복_회원_예외() { //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.s..
M = Model V = View C = Controller 초기에는 View에서 컨트롤러와 뷰를 같이 했었음. 근데 요즘은 뷰랑 컨트롤러를 나누는 게 기본은 view는 화면에 나오는 것만 컨트롤러는 동작 어노테이션 ResponseBody
gradle = 버전 설정하고 라이브러리 땡겨오는 걸로 dependencies = 내가 선택한 라이브러리? gitignore = 깃에 불필요한것들을 안올릴수있는 ? 제외하는 것 @GetMapping("hello") 라는 뜻은 웹 브라우저가 hello라는 데이터를 들고왔을 때 스프링부트에 있는 내장 톰켓 서버가 이것을 보고 hello라는 메소드가 있는지 확인하고 있으면 그 메소드로 안내하는 것이다. @GetMapping("hello") public String hello(Model model){ model.addAttribute("data", "hello!!"); //컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버가 화면을 찾아서 처리한다. //resourse return "hello"; } 여기서 m..