스프링7 @ResponseBody @RequestBody 이 어노테이션이 붙은 파라미터에는 HTTP 요청의 본문 body 부분이 그대로 전달된다. RequestMappingHandlerAdapter에는 HttpMessageConverter 타입의 메시지 변환기(message converter)가 여러 개 등록되어 있다. @RequestBody가 붙은 파라미터가 있으면 HTTP 요청의 미디어 타입과 파라미터의 타입을 먼저 확인한다. (dispatcher-servlet.xml 에서 확인) 메시지 변환기 중에서 해당 미디어 타입과 파라미터 타입을 처리할 수 있다면, HTTP 요청의 본문 부분을 통째로 변환해서 지정된 메소드 파라미터로 전달해준다. 쉽게 말하자면 @RequestBody 어노테이션을 이용하면 HTTP 요청 Body를 자바 객체로 .. 2020. 6. 4. spring websocket + stomp /app은 메세지를 처리할 수 있도록 서버측의 annotated method 로 흐르도록 하기 위한 라우팅 /topic , /queue 는 broker로 흐르도록하기 위한 라우팅 STOMP는 여러 prefix를 통해 흐름을 결정하는데 자주쓰인prefix는 아래와 같다 1. 클라이언트에서 destination에 /app 이라는 prefix를 주었을때 흐름 해당 request는 @messagemapping된 스프링 컨트롤러로 흘러가고 컨트롤러에서 메세지를 수신한 후 여러 작업들을 처리한 후에 /topic이라는 prefix를 통해 브로커에게 전달하면 브로커는 STOMP MESSAGE 메소드를 이용해서 특정 토픽을 구독하는 구독자들에게 reponse를 보낸다. 2. 클라이언트에서 destination에 /top.. 2020. 6. 3. AOP 관점 지향 프로그래밍 AOP(Aspect Oriented Programming) - 관점 지향 프로그래밍 ( OOP를 더 잘 구현할 수 있도록 도와주는 프로그램 ) 여러 객체에 공통적으로 적용할 수 있는 기능을 분리함으로써 재사용을 높여주는 프로그래밍 기법 - 사용 : 원래 업무들에서 공통된 업무들을 찾고 그 업무들을 AOP로 만들어 놓고 필요로 한 순 간에 사이사이로 끼워 넣기 AOP 종류 - before : 메소드 실행 전 실행 - after-returning : 메소드 실행 후 실행 - after-throwing : 메소드 실행 중 예외 발생시 - after : 메소드 실행 후 실행(예외 발생 여부 상관 없음) - around : 메소드 실행 전/후, 예외 발생 시 실행 AOP 지원 1) AspectJ : 1) 코드 적.. 2020. 5. 20. 자바 jdbc 스프링 DB 접근 mysql package spring_app12_conn; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class MysqlDAO implements DAO { private static Connection conn; final String DRIVER = "com.mysql.jdbc.Driver"; final String URL = "jdbc:mysql://localhost:3306/goott7?useSSL=false"; final String USER = "scott.. 2020. 5. 19. annotation 종류가 굉장히 많다. @Autowired - 필요한 곳에 자동으로 묶기 => xml에 새로운 bean 필요 => main에 factory도 바꿔주어야함 public static void main(String[] args) { //BeanFactory factory = //new XmlBeanFactory(new FileSystemResource("src/app.xml")); ApplicationContext context = new ClassPathXmlApplicationContext("app.xml"); Greetingimple gr = context.getBean("gi", Greetingimple.class); gr.printMsg(); } 의존 자동 설정 @AutoWired : 스프링전용 - 연.. 2020. 5. 18. maven maven : 빌드툴(build tool) + 오픈소스버전관리 자바용 프로젝트 관리 도구이다. 아파치 앤트의 대안으로 만들어졌다. 아파치 라이선스로 배포되는 오픈 소스 소프트웨어이다. (위키백과) pom.xml 을 통해 오픈소스 버전 관리 4.0.0 spring_app04_maven spring_app04_maven 0.0.1-SNAPSHOT org.springframework spring-context 5.2.6.RELEASE src maven-compiler-plugin 3.8.0 1.8 1.8 https://mvnrepository.com/ 를 통해 필요한 모듈 .jar 파일들을 찾아서 넣을 수 있다. 유의 : 스프링의 버전과 maven의 버전을 일치시켜주어야한다. oracle은 저작권 협의가 안되.. 2020. 5. 18. 스프링 정리 + 스프링 (Spring) : Enterprise급 application 개발을 위한 framework > 특징 1. Road Johnson이 창시 2. 애플리케이션 개발의 복잡성을 줄여주기 위한 목적 3. EJB(Enterprise JavaBean 4. 사용으로 수행되었던 모든 기능을 POJO를 사용해서 가능하게 함 (POJO란 - EJB : 기업환경을 구축하기 위한 서버 측 컴포넌트 모델 : 애플리케이션에서 업무 로직을 가지고 있는 서버 애플리케이션 - POJO(Plain Old java Object) : getter/setter를 가지고 있는 단순한 자바 오브젝트 4. IOC (Inversion of Control) : 제어의 역전 : 개발자에게 제어권이 있는것이 아니라 컨테이너에게 제어권이 있음 .. 2020. 5. 15. 이전 1 다음