no image
코딩자율학습단 스프링부트_1장
SNS에서 우연히 보고 알게 된 길벗 코딩자율학습단 9기로 한 달 책 한 권 완독해보기 스타트이다.길벗 네이버 카페 가입하고 IT입문서적 스스로 하는 프로그래밍 공부 '코딩자율학습' 시리즈 책 중 나는 스프링부트로 선정.리눅스와 자바 관련 도서도 추후 나오는 것 같던데 지금은 백엔드쪽은 스프링부트밖에 없어서 이거로 공부하기이댜.  스프링 부트(Spring Boot)란?자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위한 도구로 프랜차이즈에 가입해, 레시피와 서비스 노하우를 제공받는 것처럼 자바 웹 프로그램을 만드는 데 필요한 기능과 도구를 찾아 내 것으로 만들기.스프링 부트는 사실 새로운 기술이라기보다는 스프링 프레임워크를 개선한 것.스프링은 버전에 따라 동작하는 라이브러리를 일일이 찾아 연동해야 한다면 부..
2024.08.03
no image
스프링 DB 데이터 접근 활용 기술_04
스프링 트랜잭션 전파2 - 활용 :회원 가입을 시도한 로그를 남기는데 실패하더라도 회원 가입은 유지되어야 함. : 이 요구사항을 만족하기 위해서 로그와 관련된 물리 트랜잭션을 REQUIRES_NEW를 사용해서 별도로 분리. /** * MemberService @Transactional:ON * MemberRepository @Transactional:ON * LogRepository @Transactional(REQUIRES_NEW) Exception */ @Test void recoverException_success() { //given String username = "로그예외_recoverException_success"; //when memberService.joinV2(username); //..
2024.01.10
no image
스프링 DB 데이터 접근 활용 기술_03
스프링 트랜잭션 이해 : 스프링은 PlatformTransactionManager 라는 인터페이스를 통해 트랜잭션을 추상화 : PlatformTransactionManager 를 사용하는 방법은 크게 2가지로 구분 1) 선언적 트랜잭션 관리 @Transactional 어노테이션 하나만 선언해서 매우 편리하게 트랜잭션을 적용 2)프로그래밍 방식 트랜잭션 관리 트랜잭션 매니저 또는 트랜잭션 템플릿 등을 사용해서 트랜잭션 관련 코드를 직접 작성 : AopUtils.isAopProxy() 로 Aop 확인 : TransactionSynchronizationManager.isActualTransactionActive() 현재 쓰레드에 트랜잭션이 적용되어 있는지 확인할 수 있는 기능 : 스프링에서 우선순위는 항상 더..
2024.01.10
no image
스프링 DB 데이터 접근 활용 기술_02
데이터 접근 기술 - MyBatis : mybatis.configuration.map-underscore-to-camel-case를 true로 설정 시 언더바를 카멜케이스로 자동 변경 : XML에서는 데이터 영역에 와 같은 특수문자 사용 불가로 치환해서 쓰거나 CDATA 구문 활용 동적 SQL - if - choose (when, otherwise) - trim (where, set) - foreach - 로 SQL 재사용 가능, 불러오는거는 - 컬럼명과 프로퍼티 명 다를 시 별칭 사용하는 것 이외에도 resultMap 선언해서 사용 가능 데이터 접근 기술 - JPA : JPA는 Java Persistence API의 약자고 자바 진영의 ORM 기술 표준 : ORM은 Object-relational ma..
2024.01.06
no image
스프링 DB 데이터 접근 활용 기술_01
인프런 김영한님 강의 들으면서 살짝쿵 내용 정리해보기ㅎㅎㅎ https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-2/dashboard 스프링 DB 2편 - 데이터 접근 활용 기술 강의 - 인프런 백엔드 개발에 필요한 DB 데이터 접근 기술을 활용하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 백엔드 개발자 www.inflearn.com 데이터 접근 기술 - 시작 Profile(프로필) : 로딩 시점에 application.properties 의 spring.profiles.active 속성을 읽어서 프로필로 사용. : 이 프로필은 local, 운영 등등 다양한 환경..
2024.01.06
전자정부표준프레임워크_06
전자정부표준프레임워크 마지막 화면처리이다. 제일 처음은 컨트롤러랑 JSP코드 작성해서 프로그래밍 언어 배울때 제일 처음 항상 하는 HELLO WORLD 띄워보기 하핳.. 새 프로젝트 하나 만들어주고 context-servlet.xml 파일에다가 ViewResolver 설정인 아래 코드 내용 먼저 작성해주기. 그 다음은 컨트롤러 파일에다가 URL이랑 View랑 연결해주는 @RequestMapping 관련 코드 작성. @RequestMapping(value = "/hello.do") public String helloworld() { return getViewName(); } 세 번째로는 JSP 파일 즉 View 만들고 실행시켜서 결과 출력 확인하기. HELLO WORLD! 다음은 웹사이트들을 보면 한국어,..
2022.03.11
전자정부표준프레임워크_05
이번에는 전자정부 기능 가지고 배치 테스트를 해보고 테스트 결과를 텍스트로 받아보는 것을 실습해볼것이다. 일단 아래처럼 프로젝트 먼저 따라서 생성해주기. 프로젝트 만들어주고 그 다음은 eGovFrame > Test > Batch Job Test로 들어가서, Job 정보 중 DelimetedToDelimetedJob이랑 Job Launcher 정보를 선택 후 Generate Batch Test File 버튼을 클릭. 그 다음은 아래 이미지 따라서 Test Case 파일 생성해주고 테스팅 후 잘 파일 생성되었는지 확인하기. 아래와 같이 테스트 파일 즉 코드가 잘 생성된 것을 볼 수 있다. import static org.junit.Assert.assertEquals; import java.util.Date;..
2022.03.11
전자정부표준프레임워크_04
전자정부 표준 프레임워크 네 번째는 포스트부터는 실행환경 관련이다. 데이터처리랑, 배치처리랑, 화면처리랑 많다아....... 먼저 데이터처리는 아래와 같은 3 Tier Architecture를 따라서 동작한다. 자바 코드를 작성하기 전에 구동 환경 먼저 설정해 주어야 한다. dataSource 설정은 context-datasource.xml에 빈 설정 추가하기. transaction 설정으로는 context-transaction.xml 파일에다가 해 주면 되는데, 트랜잭션 annotation을 이용하면 대상 메소드에 개별적으로 트랜잭션을 지정할 수 있다는 장점이 있으나, 보통 AOP 형식(tx:aop)으로 선언하여 트랜잭션 대상 메서드들에 일괄 지정하는 경우가 많다고 한다. 이번에는 mybatis 연동을..
2022.03.11
전자정부표준프레임워크_03
전자정부 표준 프레임워크 세 번째 포스트는 개발환경 관련이다. 관련 자료들은 전자정부 표준 프레임워크 홈페이지에서 찾아볼 수 있고 난 교안으로 다운받아서 손쉽게 찾을 수 있었다. 프로젝트 생성하는거, 공통 컴포넌트 생성하는거, MyBatis 실습까지의 내용을 다뤄볼 예정이다. 프로젝트 생성은 위와 같이 하면 되고 그 다음 잘 생성한 것인지 실행하기 위해서는 프로젝트 우클릭한 다음, Run As > Maven Install을 하여 관련 Maven들을 먼저 설치해준다. 설치가 완료되었다면 "BUILD SUCCESS" 이런 메시지가 보일 테고 그다음은, 다시 프로젝트 우클릭 Run As > Run on Server 클릭하고 Finish를 해주면 프로젝트 생성 완료. 정상적으로 프로젝트를 생성하였다면 톰캣 서버..
2022.03.10