일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- js 자동완성
- katalon 사용법
- CSTS 폭포수 모델
- 테스트 자동화
- java.sql.SQLSyntaxErrorException
- katalon
- Katalon Recorder 사용법
- 피보나치함수 예제
- oracle group by
- git 연동
- 한국투자증권 양도세 신고
- 한국투자증권 해외주식 양도세
- katalon xpath
- 국세청 해외주식 양도세 신고방식
- 피보나치함수
- 피보나치 예제
- javascript 자동완성
- 주식 양도세 신고방법
- 홈택스 해외주식 양도세
- 톰캣 실시간 로그
- 재귀 예제
- 재귀함수 예제
- katalon 자동화
- tomcat log
- bfs 미로탐색 java
- recursion example
- katalon 비교
- 해외주식 양도세 신고
- 해외증권 양도세 한국투자증권
- 최대공약수 예제
- Today
- Total
목록java/Spring (67)
엄지월드
구글 앱 비밀번호 추가생성된 앱 비밀번호 확인gradle.builddependencies { ... implementation 'org.springframework.boot:spring-boot-starter-mail' ...} application.propertiesspring.mail.host=smtp.gmail.com # 이메일 gmail로 사용spring.mail.port=587spring.mail.username=your-email@naver.comspring.mail.password=여기에_앱 비밀번호_입력spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=true Control..
배경 : Spring Cloud Config를 사용하기 위해서 dependencies를 추가했지만, @EnableConfigServer가 import 되지 않았다. dependencies { implementation 'org.springframework.cloud:spring-cloud-config-server'}import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication@EnableC..
JPA를 설치하고 실행 시키니 아래와 같이 에러가 났다. Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.LocalContainerEntityManagerF..
스프링 3버전은 레퍼런스가 적어 부담이 되어 2버전으로 변경하고 싶은 니즈가 있었다.그래서 build.gradle에서 2.7.5 버전으로 낮추어 주었고, java 버전은 그에 따라 11버전으로 낮추어 주었다.
1. Build and run using과 Run tests using이 Intellij IDEA로 되어 있는지 확인한다. 2. JDK 버전이 17버전 이상인지 확인한다.
데이터소스 - 자동 등록스프링 부트는 데이터소스(DataSource)를 스프링 빈에 자동으로 등록한다.자동으로 등록되는 스프링 빈 이름 : `dataSource`참고로 개발자가 직접 데이터소스를 빈으로 등록하면 스프링 부트는 데이터소스를 자동으로 등록하지 않는다.이때 스프링 부트는 다음과 같이 `application.properties`에 있는 속성을 사용해서 DataSource를 생성한다. 그리고 스프링 빈에 등록한다. spring.datasource.url=jdbc:h2:tcp://localhost/~/testspring.datasource.username=saspring.datasource.password=스프링 부트가 기본으로 생성하는 데이터소스는 커넥션풀을 제공하는 `Hikar..
@TestConfiguration을 통해서 직접 Bean을 주입해 줄 수 있다. @Autowired private MemberRepositoryV3 memberRepository; @Autowired private MemberServiceV3_3 memberService; @TestConfiguration static class TestConfig { @Bean DataSource dataSource9) { return new DriverManagerDataSource(URL, USERNAME, PASSWORD); } @Bean PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSourc..
프록시를 사용하면 트랜잭션을 처리하는 객체와 비즈니스 로직을 처리하는 서비스 객체를 명확하게 분리할 수 있다. 트랜잭션 프록시 코드는 아래와 같이 되어 있다. @Transaction이 적용되어 있는 서비스를 호출하게 되면 EnhancerBySpringCGLIB 이런식으로 클래스 이름이 변경되게 되는데, @Transactional 을 선언하게 되면 스프링에서 약간의 조작을 통해 해당 Service를 상속 받게 된다.나머지는 스프링 트랜잭션 AOP가 자동으로 처리해준다. CGLIB 라이브러리를 통해서 프록시를 만들어낸 것이다. AOP인지 테스트는 AopUtils.isAopProxy()를 통해서 진행할 수 있다.
스프링이 TransactionTemplate이라는 편리한 기능을 제공스프링은 `TransactionTemplate`라는 템플릿 클래스를 제공한다. 트랜잭션을 없애기 전 코드 트랜잭션을 없앤 코드.PlatformTransactionManager에 new TransactionTemplate(transactionManager)를 주입한다. (this.txTemplate은 TransactionTemplate txTemplate 이다) 한번 더 없앨 수 없는 이유는 bizLogic() 메서드를 호출하면 SQLException 체크 예외를 넘겨준다. 해당 람다에서 체크 예외를 밖으로 던질 수 없기 때문에 언체크 예외로 바꾸어 던지도록 예외를 전환했다. - 체크 예외(Checked Exception) : 컴파일러가..
프레젠테이션 계층 UI와 관련된 처리 담당 웹 요청과 응답 사용자 요청을 검증 주 사용 기술 : 서블릿과 HTTP 같은 웹 기술, 스프링 MVC 서비스 계층 비즈니스 로직을 담당 주 사용 기술 : 가급적 특정 기술에 의존하지 않고, 순수 자바 코드로 작성 데이터 접근 계층 실제 데이터베이스에 접근하는 코드 주 사용 기술 : JDBC, JPA, File, Redis, Mongo ... 순수한 서비스 계층 여기서 가장 중요한 곳은 어디일까? 바로 핵심 비즈니스 로직이 들어있는 서비스 계층이다. 시간이 흘러서 UI(웹)와 관련된 부분이 변하고, 데이터 저장 기술을 다른 기술로 변경해도, 비즈니스 로직은 최대한 변경없이 유지되어야 한다. 이렇게 하려면 서비스 계층을 특정 기술에 종속적이지 않게 개발해야 한다. ..