Spring

Spring/Book - 스프링 입문을 위한 자바 객체 지향의 원리와 이해

00A. 스프링 MVC를 이용한 게시판 구축 (1)

🌱 오늘의 주제 : 스프링 MVC를 이용한 게시판 구축 (1) 🌱 A.1 URL과 @RequestMapping 연결하기 스프링 MVC에서는 @Controller 어노테이션이 붙은 클래스 안에 @RequestMapping 어노테이션이 붙은 메서드에서 클라이언트 요청을 처리하게 된다. 클라이언트가 http://localhost:8080/mvc/라고 URL을 입력하고 웹 서버에 서비스를 요청하면 서블릿 컨테이너가 mvc라고 하는 웹 컨텍스트를 찾고 해당 웹 컨텍스트는 스프링 ApplicationContext에게 URL 중에 /를 처리할 수 있는, 즉 @RequestMapping(value="/")를 가진 메서드에게 처리를 위임한다. @ResponseBody는 아래 메서드에서 반환하는 문자열을 그대로 클라이언트..

Spring/Spring - tips

Service, Repository, DTO 명칭 정리.

🌱 오늘의 주제 : Service, Repository, DTO 명칭 정리. 🌱 Service, Repository, DTO 명칭 정리. Service, BO(Business Object) - 2개 같은 이름 Repository, DAO(Data Access Object), Mapper. - 3개 같은 것. / 샘은 mapper로 함. DTO (Data Transfer Object), VO(value object), Domain, Model Entity - database에 있는 그대로를 가져온 것. table과 완전 일치.

Spring

Spring - Interceptor란?

🌱 오늘의 주제 : Interceptor란? 🌱 Interceptor란? 컨트롤러(Controller)의 '핸들러(Handler)'를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할수 있는 일종의 필터 interceptr 란 단어는 '낚아채다'라는 의미이다. 해당 단어의 의미와 같이 사용자 요청에 의해 서버에 들어온 Request 객체를 컨트롤러의 핸들러(사용자가 요청한 url에 따라 실행되어야 할 메서드, 이하 핸들러)로 도달하기전에 낚아채서 개발자가 원하는 추가적인 작업을 한후 핸들러로 보낼수 있도록 해주는것이 인터셉터 이다. 🌱 사용하는 이유 개발자는 특정 Controller의 핸들러가 실행되기 전이나 후에 추가적인 작업을 원할때 Interceptor를 사용한다. (추가적인 작업으로는 로그인체크..

Spring/Spring - tips

< *****이 부분만 알면 사이트 왠만한 부분은 만들 수 있음*****>

🌱 오늘의 주제 : 🌱 Request -> 서버 -> Response 요청 (Request) (1)Get. , 브라우저 주소 , a href , javascript location.href Form method=“get” AJAX type=“get” (2) POST form method=“post” AJAX type = “post” 응답 (Response) (1)결과 plain/text html/text application/Json .png File (zip, excel) (2) ..

Spring/Spring - tips

Controller에서 BO부르기

🌱 오늘의 주제 : Controller에서 BO부르기 🌱 Controller에서 BO부르기 Controller를 모든 BO를 부를 수 있다. 자신이 아닌 모든 컨트롤러 부를 수 있다. BO도 다른 BO 다 부를 수 있음. 상호 참조만 안되게 해야한다. 예) ABO -> BBO (0) // ABO BBO (x) BO는 자신의 DAO(Mapper)를 부를 수 있음. Post 1 - Photo N - post패키지에 넣을 수 있음 post패키지에 넣어도 됨 > postBO -> PhotoBO //브라우저 Controller TimelineBO. -> PostBO -> UserBO. // CommentBO -> UserBO xml // 어떤 사이트를 만들던 간에 userBo는 db에 가까움. 브라우저 Contr..

Spring

Spring - @RequestBody / @ResponseBody 어노테이션 이란?

🌱 오늘의 주제 : @RequestBody / @ResponseBody 어노테이션 이란? 🌱 클라이언트와 서버의 비동기 통신 클라이언트에서 서버로 통신하는 메시지를 요청(request) 메시지라고 하며, 서버에서 클라이언트로 통신하는 메시지를 응답(response) 메시지라고 한다. 웹에서 화면전환(새로고침) 없이 이루어지는 동작들은 대부분 비동기 통신으로 이루어진다. 비동기통신을 하기위해서는 클라이언트에서 서버로 요청 메세지를 보낼 때, 본문에 데이터를 담아서 보내야 하고, 서버에서 클라이언트로 응답을 보낼때에도 본문에 데이터를 담아서 보내야 한다. 이 본문이 바로 body 이다. 즉, 요청본문 requestBody, 응답본문 responseBody 을 담아서 보내야 한다. 이때 본문에 담기는 데이터 ..

Spring/Spring - tips

에러 모음

- 콘솔에서 에러보는걸 추천. / 500에러는 서버에러임. 탭 윗줄 보면 원인 나옴. ***** 에러날때 브레이크 포인트 걸고 target exception 확인하면 핵심 에러문장 볼 수 있다! Case 1. Nullpointerexception : null인 애를 사용하려다가 에러남. @autowired 안한 것 - storeBod is null. (어노테이션 빠진 거임) @Service 빠진 것 Case 2. nvalid bound statement - xml과 연동이 안된다는 뜻. 이름 잘 못 만듬(패키지명과 일치하는지) Mapper클래스에 namespace 공백빠지거나, 쉼표 등등 에러. ibatis 패키지로 뜨면 무조건 DB 에러. (Persistence Layer에서 찾아라. Doa) Case..

Spring/Book - 스프링 입문을 위한 자바 객체 지향의 원리와 이해

07. Spring - 의존성 주입

🌱 오늘의 주제 : 의존성 주입 🌱 @Autowired를 통한 속성 주입 스프링 설정 파일을 보고 자동으로 속성의 설정자 메서드에 해당하는 역할을 해준다. 스프링의 @Autowired 장점은 type 기준 매칭에 있다. 만약 같은 타입을 구현한 클래스가 여러개 있다면 그때 bean 태그의 id로 구분해서 매칭하게 되는 것이다. id와 type 중 type 구현에 우선순위가 있다. 🌱 @Resource를 통한 속성 주입 @Resource는 자바 표준 어노테이션이다. type과 id 가운데 매칭 우선순위는 id가 높다. id매칭할 빈을 찾지 못한 경우 type으로 매칭할 빈을 찾게 된다.

Spring

Spring - MyBatis

🌱 오늘의 주제 : MyBatis 🌱 MyBatis XML에 SQL 쿼리를 작성하여 데이터베이스에 접근하고, 자바 객체와 매핑해주는 Persistence Framework 쿼리 수행 로그 세팅 수행된 쿼리문을 Console에서 볼 수 있도록 로그를 찍는 세팅을 한다. SpringBoot web starter에 기본으로 logback이라는 로깅 라이브러리가 세팅되어 있으며 설정을 추가하면 된다. src/main/resources에 설정 파일명을 logback-spring.xml로 설정하면 logback 설정 파일을 읽는다. logback-spring.xml %d %5p [%c] %m%n 위의 내용의 코드를 추가하면 수행된 쿼리문이 로그에 찍힌다. 🌱 CRUD 예제 SELECT 문 mapper.xml htt..

Spring/Book - 스프링 입문을 위한 자바 객체 지향의 원리와 이해

07. 스프링 삼각형과 설정 정보 (1)

🌱 오늘의 주제 : 07. 스프링 삼각형과 설정 정보 (1) 🌱 07. 스프링 삼각형과 설정 정보 POJP(Plain Old Java Object)를 기반으로 스프링 삼각형이라는 애칭을 가진 IoC/DI, AOP, PSA라고 하는 스프링의 3대 프로그래밍 모델. 🌱 스프링 없이 의존성 주입하기 - 생성자를 통한 의존성 주입 Tire tire = new KoreaTire(); Car car = new Car(tire); 프로그래밍에서 의존 관계는 new로 표현된다. 주입 - 외부에서라는 뜻을 내포하고 있는 단어이며, 예를 들어 외부에서 생상된 타이어를 자동차에 창작하는 작업이 주입이다. 생성자를 통한 의존성 주입을 할 경우, 확정성이 좋아진다. 예를 들어, Car는 Tire 인터페이스를 구현한 어떠한 객..

요가하는 개발자
'Spring' 카테고리의 글 목록 (2 Page)