본문 바로가기

Web Programming/Spring7

[Spring] File Upload/Download BeanNameViewResolver 관련 글에서 정해진 결과 페이지가 없는 FileDownLoad, ajax 기술을 사용하려면 BeanNameViewResolver이 필수적임을 언급한 적 있다. 이번 포스팅에서 FileUpLoad 및 FileDownLoad을 다루고자 한다. [Spring] BeanNameViewResolver [ViewResolver] View 페이지의 실질적인 물리적 위치 정보를 다루기 위해서 필요한 라이브러리 클래스이다. InternalResourceViewResolver (default)는 ViewResolver의 기본 클래스로 따로 설정하지 않으면 /WEB-I.. icefree.tistory.com 출처: https://icefree.tistory.com/entry/Spring.. 2020. 8. 11.
[Spring] BeanNameViewResolver [ViewResolver] View 페이지의 실질적인 물리적 위치 정보를 다루기 위해서 필요한 라이브러리 클래스이다. InternalResourceViewResolver (default)는 ViewResolver의 기본 클래스로 따로 설정하지 않으면 /WEB-INF/views 폴더 아래 jsp 파일을 찾아가도록 한다. servlet-context src > main > webapp > WEB-INF > spring > app-Servlet 폴더에서 servlet-context.xml 파일 열기. 주석 아래에 부분이 Controller에서 수행 후 리턴하는 객체인 ModelAndView는 View 페이지 이름과 Model(Data) 정보를 포함한다. 이 데이터를 view로 보낼 때 Resolves view.. 2020. 8. 10.
[Spring] Annotation [Annotation] 이전에 Bean 설정 문서에 관하여 포스팅한 적이 있다. https://icefree.tistory.com/entry/Spring-MyBatis-Bean-%EC%84%A4%EC%A0%95%EB%AC%B8%EC%84%9C [Spring] Bean 설정문서 [Bean 설정 문서] 본 글에서는 bean설정 문서에서 Presentation Layer, Service Layer, Persistence Layer, Data Access/Intergration Layer에 존재하는 Component(=bean)을 입력한다. 여기서 Spring framework가.. icefree.tistory.com 위 글에서 언급했듯이, Bean은 Layer의 Bean(=Component) 개수가 늘어날 때.. 2020. 8. 6.
[Spring] Bean 설정문서 [Bean 설정 문서] 본 글에서는 bean설정 문서에서 Presentation Layer, Service Layer, Persistence Layer 에 존재하는 Component(=bean)을 입력한다. 여기서 Spring framework가서버의 back-end부터 front-end까지 연결하는 과정을 살펴볼 수 있다. - 서버에서 Spring flow 개괄 sqlMapConfig.xml > SqlSessionFactory > SqlSession > UserDAO(DAOImpl) > UserService(UserServiceImpl) > Presentation Layer(Component) [Bean 설정 문서 flow] 1) properties 파일 연결 ** context 설정 아래 이미지와 같.. 2020. 8. 6.
[Spring] My Batis - SQL [SQL XML] MyBatis에서는 SQL 쿼리문을 xml을 통해 MetaData로 만들어서 애플리케이션의 외부로 분리한다. 1. SQL XML 기본 작성방법 - resultMap 2. 값 주입 3. 정적 쿼리 / 동적 쿼리 1. 기본 작성 방법 1) xml 파일 생성 2) mapper 태그 생성 - namespace 지정 : 나중에 test에서 사용할 쿼리문 지정할 때 여러 쿼리문을 포괄하는 mapper의 namespace도 함께 지정. 3) mapper 태그 안에 쿼리문 작성 - 태그 종류 : 입력하고자 하는 쿼리 문의 종류를 태그로 지정할 수 있다. 쿼리문은 태그 안에 작성한다. ex) , , 등등 - id 지정 : id는 DAO 단에서 사용하는 함수명과 동일하게 작성. - parameterTyp.. 2020. 8. 5.
[Spring] MyBatis Data Access [Data Access/Integration] DB와 DAO를 연결하는 단계로, JDBC, ORM, JMS 및 트랜잭션 모듈로 구성된다. 여기서 JDBC 모듈은 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API로, 데이터베이스에서 자료를 쿼리 하거나 업데이트하도록 돕는 역할을 한다. JDBC는 SQL Mapper인 MyBatis로 대체 가능하며, 본 포스팅에서는 JDBC 대신 MyBatis를 활용한다. * Service Layer : DAO에서 전달 받은 데이터를 가공하는 Layer - interface인 DAO가 session을 hasing하여 Persistence Layer와 MyBatis Framework를 연결 - 전반적인 흐름은 sqlMapConfig.xml > SqlSessionFac.. 2020. 8. 4.
[Spring] Core Container [Spring Framework] "Spring Framework는 Java애플리케이션 개발을 위한 포괄적인 인프라 지원을 제공하는 Java 플랫폼으로, 애플리케이션에 집중할 수 있도록 제반 사항들을 처리하는 역할을 한다." - Core Container, Data Access/Integration, AoP, Web, Test 등 다수 모듈(개별적으로 완벽한 컴포넌트)로 구성된 응용 프로그램 출처 : https://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/overview.html [종속성 주입(Dependency Injection) 및 제어 역전(IoC)] 개발 과정에서 비즈니스 로직을 담고 있는 DAO에서 수정이 빈번하게 발생하.. 2020. 8. 3.