본문 바로가기
728x90

개발 수업/Spring20

[spring] 메일 발송 더보기Day77. 230818 1. pom.xml 설정dependencies 추가 org.springframework spring-context-support ${org.springframework-version} javax.mail javax.mail-api 1.5.4 com.sun.mail javax.mail 1.5.3   2. mail-context.xml설정scr/main/webapp/WEB-INF/spring 위치에 mail-context.xml를 만들어 준다. smtp true true javax.net.ssl.SSLS.. 2023. 8. 18.
[spring] 다국어 지원 기능 더보기Day77. 2308171. servlet-context.xml에서 interceptors를 설정    2. bean class 위치에 설정해준대로 클래스를 만들고 HandlerInterceptorAdapter 상속 받는다.  3. 자주 쓰이는 메서드 3가지를 Override 해준다. 클래스 만든 후 HandlerInterceptorAdapter 선택 후 마우스 오른쪽 클릭 > source > Override/implementMethod   package com.mycom.lan;import java.util.Locale;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;impo.. 2023. 8. 17.
[spring] tiles 예제 더보기Day76.230817tiles_main.xml>tiles_main.xml에서 tiles body에 해당하는 부분에 해당하는 부분을 따로 빼주었다. MainController>tiles_main.xml의 definition name부분과 똑같이 맞춰 return유형을 baseLayout에서 /main으로 바꿔주었다. main.jsp> "/>main(.jsp)화면tiles적용중이제 메인화면 body부분에 main.jsp가 보여진다. 회원가입 폼도 body부분에 보이도록 해보자. tiles_member.xml>tiles_member.xml을 만들어 tiles-definitions를 만들어준다. MemberController>MemberController에서 회원가입 폼 보여주는 메서드의 retur.. 2023. 8. 17.
[spring] Tiles 더보기 Day75. 230816 Tiles pom.xml 문서에 tiles라이브러리를 추가해 두었다. 기존에는 ViewResolver에 의해 화면 처리하도록 했는데 tiles설정과 같이 할 수 없어서 기존 view설정 부분대신 tiles설정을 넣어 주었다. classpath:tiles/*.xml tiles밑에 xml문서를 만들어 준다. tiles_main.xml> WEB_INF/views/common에 footer,hearder,layout,side jsp파일을 만들어준다. tiles_main.xml의 name은 layout.jsp의 name과 동일하게 한다. footer.jsp> 회사소개 이용약관 개인정보취급방침 제휴/도서홍보 광고센터 고객만족센터 찾아오시는길 ㈜좋은회사 대표이사: 이순신 주소 : 우편.. 2023. 8. 17.
[spring] Lombok(라이브러리 설치,사용법) 더보기 Day75. 230816 Lombok 컴파일 시 흔하게 코드를 작성하는 기능들을 완성해 주는 라이브러리, @Setter어노테이션은 setter메서드를 만들어주는 역할. Lombok라이브러리 설치 https://projectlombok.org/download Download projectlombok.org 다음 사이트에서 lombok.jar 파일을 다운로드 받아준다. lombok.jar이 위치한 경로를 잘 기억한다. 명령프롬프트를 관리자 권한으로 실행해 준다.(마우스 오른쪽 버튼을 눌러 관리자버전으로 실행하면 된다.) 명령프롬프트를 통해 lombok.jar이 설치된 위치로 접근한다. 다운로드된 경로에서 java -jar lombok.jar명령어를 실행하면 다음과 같이 lombok을 설치할 수 있는 .. 2023. 8. 17.
[spring] 동적 SQL/검색 기능 구현 더보기 Day75. 230816 동적 SQL 상황에 따라 SQL이 적용되도록 하는 것. https://mybatis.org/mybatis-3/ko/dynamic-sql.html MyBatis – 마이바티스 3 | 동적 SQL 동적 SQL 마이바티스의 가장 강력한 기능 중 하나는 동적 SQL을 처리하는 방법이다. JDBC나 다른 유사한 프레임워크를 사용해본 경험이 있다면 동적으로 SQL 을 구성하는 것이 얼마나 힘든 작업인지 mybatis.org 동적SQL에 대한 설명이 잘 나와있는 사이트의 예제를 살펴보자. state=null이고 title!=null인 조건을 만족하면 WHERE절 뒤에 AND가 바로 들어가는 문제가 생긴다. myBatis에서는 이런 경우를 대비해 WHERE가 상황에 따라 들어갈 수 있도.. 2023. 8. 17.
[spring] 상세보기 더보기 Day73. 230810 Controller->Service->DAO(repository)->myBatis->DB을 거쳐 상세보기를 해보았다. MemberController.java> package com.mycom.member.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import com.mycom.member.domain.MemberDTO;.. 2023. 8. 11.
[spring] 스프링 DB연동 과정 더보기 Day72. 230809 jsp프로젝트때는 컨트롤러,서비스,DAO를 거쳐 DB와 연동되는데 스프링 프로젝트에서는 myBatis를 거치는 과정이 하나 더 추가되었다. Controller Service DAO myBatis DB member.xml> 쿼리문 작업을 하는 member.xml을 src/main/resources/mybatis/mappers밑에 member.xml파일을 만들어 주고 namespace는 member로 지정해주었다 MemberRepository> @Repository 어노테이션을 붙여준다. 기존의 DAO역할을 해준다. member.xml을 불러줄 때 sqlSession.selectOne("name스페이스명.id")를 써준다. MemberService> @Service 어노테이션.. 2023. 8. 9.
[spring] org.springframework.beans.factory.BeanCreationException 오류 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/spring/action-mybatis.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.lang.String] to required type [org.springframework.core.io.Resource[]] .. 2023. 8. 9.
[spring] TypeAliases/sqlSession 더보기 Day72. 230809 TypeAliases mybatis에서 많이 쓰이는 것들을 typeAliases로 정해두어 Aliases를 사용해 간편하게 resultType을 써줄 수 있다. 그 중 자바의 데이터타입이 내장되어 별칭(alias)으로 제공되고 있다. Alias(별칭) Mapped Type(자바의 데이터타입) short Short int Integer string String hashmap Hashmap list List arraylist ArrayList 길게 써야했던 resultType을 int로 간단하게 쓸 수 있다. 추가로 비교연산자()를 처리하거나 쿼리문을 구분지어주기 위해 안에 쿼리문을 써준다. sqlSession 앞에서 action-mybatis.xml에서 sqlSession이.. 2023. 8. 9.
728x90