본문 바로가기
반응형

Programming/SpringFramework15

[Spring] 파라미터없이 session값 가져오기(로그인한 Member Id 가져오기) 1) web.xml org.springframework.web.context.request.RequestContextListener 2) java ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); HttpServletRequest req = sra.getRequest(); // 요청 가져오기 HttpSession session = req.getSession(); // 세션가져오기 2020. 12. 10.
[Spring] BeanUtils copyProperties / Spring Framework에서 제공하는 bean들간의 작업을 도와주는 추상 클래스 Static convenience methods for JavaBeans: for instantiating beans, checking bean property types, copying bean properties, etc. Mainly for use within the framework, but to some degree also useful for application classes BeanUtils 스프링 프레임워크에서 제공하는 bean들간의 작업을 도와주는 추상 클래스 -> 주로 copying been properties에 사용됨 해당 포스팅에서는 copyProperties method에 대하여 알아보도록 하자 // public abstract class BeanUtils에서 copyProper.. 2020. 8. 31.
[Spring] REST API 방식 / RESTful 시스템 REST (Representational State Transfer) HTTP 기반으로 필요한 자원에 쉽게 접근할 수 있도록 도와주는 아키텍처이다. HTTP에 존재하는 모든 자원에 고유한 URI를 부여하여 자원을 정의하고, 자원에 대한 주소를 지정하는 방법론을 의미한다. 이러한 REST 방식을 따른 시스템을 RESTful이라고 부른다. REST API의 구성 - 자원(RESOURCE) : URI - 행위(Verb) : HTTP METHOD - 표현(Representations) REST의 특징 - Uniform(유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일을 말한다. - Stateless(무상태성) 작업을.. 2020. 8. 19.
객체를 리턴타입으로 받아 객체의 정보를 JSON타입으로 리턴시키고 싶을 때? 메소드가 호출될 때, 객체를 리턴타입으로 받아 객체의 정보를 json타입으로 리턴시키려고 한다면 두 가지의 조건이 필요하다. 1. jackson-databind 메이븐 라이브러리 필요 (json 데이터 작업시 필요한 기능 제공) 2. 별도의 어노테이션 필요 - 내보낼 때에는 @ResponseBody - 가져올 때에는 @RequestBody 2020. 8. 13.
[Spring] mybatis-config.xml (mybatis에 필요한 설정 정보) insert into tbl_board(BNO, TITLE, CONTENT, WRITER) values(seq_board_bno.nextval, #{title}, #{content}, #{writer}) 2020. 8. 12.
[Spring] log4jdbc-log4j2t 설정 (SQL 쿼리 로그) MyBatis는 내부적으로 JDBC의 PreparedStatement를 이용해서 SQL을 처리합니다. SQL에서 사용하는 파라미터는 JDBC 에서 "?" 변환되어 사용됩니다. PreparedStatement의 "?" 에 사용한 값을 확인하는 용도로 사용합니다. Log4jdbc-log4j2라는 라이브러리를 이용하면, 기존의 jdbc datasource보다 더 상세한 로그를 콘솔에서 확인할 수 있습니다. 즉 SQL 로그를 보기 위해서입니다. 다만 log4jdbc를 이용하는 경우 속도가 기존보다 저하될수 있고, 데이터베이스에 따라서 지원되지 않는 경우도 있으므로 설정 후에 정상적 동작을 반드시 확인해야 합니다. 개발이 완료하면, 기존 연결상태로 설정을 변환해주어야 합니다. (배포할때는 원점으로) log4jdb.. 2020. 8. 7.
[Spring] lombok(롬복) annotation & 라이브러리 설치 롬복(lombok) 이란? 롬복(Lombok)은 자바에서 Model(DTO, VO, Domain) Object 를 만들때, 멤버필드(프로퍼티)에 대한 Getter/Setter, ToString과 멤버필드에 주입하는 생성자를 만드는 코드 등 불필요하게 반복적으로 만드는 코드를 어노테이션을 통해 줄여 주는 라이브러리, 프로젝트 입니다. 출처: https://goddaehee.tistory.com/95 [갓대희의 작은공간] 1. 롬복 직접 다운로드 경로 https://projectlombok.org/ 2. maven을 이용하여 pom.xml에 코드 작성 https://mvnrepository.com/artifact/org.projectlombok/lombok org.projectlombok lombok 1.1.. 2020. 8. 6.
[Spring] 스프링 버전 확인 링크 스프링 버전은 maven spring 으로 검색 https://mvnrepository.com/artifact/org.springframework/spring-core Maven Repository: org.springframework » spring-core mvnrepository.com 2020. 8. 6.
[Spring] JUnit 단위 테스트 1-1. JUnit Java에서 독립된 단위 테스트를 지원해주는 산업 표준 프레임워크 1-2. Spring-Test @RunWith/@ContextConfiguration 등의 어노테이션을 활용하여 Spring Framework에서 조금 더 편하게 테스트를 지원할 수 있게 해준다. 2-1 JUnit 환경 세팅 Eclipse + springMVC + maven 개발환경 기반 2-2. JUnit 라이브러리 추가 Maven 프로젝트를 사용하면 의존관계 설정이 쉽게 되어 기존 프로젝트에서처럼 개발자가 해당 라이브러리를 찾는 수고를 덜어준다. pom.xml -> dependencies element 안에 JUnit dependency 코드를 추가 junit junit 4.7 test 3. JUnit Spring-.. 2020. 8. 6.
[Spring] IoC 컨테이너 - Inversion of Control(7강) Ioc(Inversion of Control) : 제어 역전 - 일반적으로 프로그래밍을 작성할 때 프로그램이 흘러가는 흐름이나 생성되는 객체에 대한 제어권을 개발자가 가지는 것과 달리 프레임워크가 가지는 것을 의미한다. - 개발자가 코드의 흐름이나 객체 생성에 관련된 코드를 프로그래밍 코드에 직접 작성하는 것이 아닌 프레임워크가 사용하는 파일에 작성하면 이를 토대로 프레임워크가 객체를 생성하여 반환하고 코드가 동작하는 순서를 결정하게 된다는 의미이다. POJO Class == 간단하게 자바에서는 java bean , vo, dao 라고 부른다 - POJO(Plain Old Java Object) : 자바 모델이나, 기능, 프레임워크 등에 따르지않고 홀로 독립적이며 단순한 기능만을 가진 객체들을 의미한다... 2020. 8. 4.
[Spring] MyBatis와 스프링 연동 & DB연동 테스트 예제 MyBatis 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정및 결과 매핑을 대신해준다. 마이바티스는 데이터베이스 레코드에 원시타입과 Map 인터페이스, 그리고 자바 POJO 를 설정해서 매핑하기 위해 XML과 어노테이션을 사용할 수 있다. - 자동으로 Connection close() 가능 - MyBatis 내부적으로 PreparedStatement 처리 - 리턴 타입을 지정하면, 자동으로 객체 생성및 ResutlSet 으로 처리 https://mybatis.org/mybatis-3/ko/index.html 1. pom.xml -> MyBatis 관련 maven 라이브러리 추가 1) sp.. 2020. 8. 4.
[Spring] STS(Spring Tool Suite) 스프링 전용 개발 도구 STS(Spring Tool Suite) Eclipse를 기반으로 전용 플러그인을 결합하여 만들어진 스프링 전용 개발 도구 Spring Framework 사용한 프로그램은 다수의 라이브러리를 필요에 따라 조합해서 준비해야 한다. 이를 모두 수작업하려고 하면 매우 힘든 일이다. 그래서 일반적으로 Apache Maven (오픈 소스 빌드 도구)를 이용하여 프로젝트를 생성하고 사용하도록 되어 있다. STS는 Maven과 주요 프로젝트 템플릿을 결합하여 간단한 설정만으로 필요한 라이브러리를 내장한 프로젝트를 만들 수 있게 되어 있다. 따라서 Spring Framework 이용에는 특별한 이유가 없는 한 STS를 사용하도록 하자. 명령 줄에서 Maven 명령을 사용하여 프로젝트 생성해도 좋지만, STS 이용에 비.. 2020. 8. 4.
반응형