일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- MySQL
- Spring Boot
- ReactJS
- Oracle
- Design Patterns
- laravel
- 요리
- springboot
- Web Server
- tool
- Gradle
- php
- IntelliJ
- it
- db
- redis
- Spring
- jsp
- java
- JVM
- Git
- devops
- ubuntu
- linux
- Spring Batch
- 맛집
- javascript
- jenkins
- elasticsearch
- AWS
- Today
- Total
목록java (242)
아무거나
책임 사슬 패턴(Chain of Responsibility Pattern) 다양한 처리 방식을 유연하게 연결할 수 있다. Handler가 다음번에 처리할 객체들을 가지고 있어가지고 자기가 가지고 있는 프로세스가 실패할 경우 다음번 객체(=ConcreteHandler ..)로 넘겨주는 설계방식 책임 사슬 패턴 예시 - 1 사칙 연산을 하는 프로그램 Calculator 클래스 선언 [Calculator.java] package com.bkjeon.chain_of_responsibility; public abstract class Calculator { private Calculator nextCalculator; public void setNextCalculator(Calculator nextCalculat..
방문자 패턴(Visitor Pattern) 객체에서 처리를 분리해서 사용할 수 있다. 즉, 분리되어 있는 상태에서 사용할 수 있게 해주는 패턴 Client: Visitor와 Visitable를 사용 Visitor: Visitable을 방문하는 형태 Visitable: Visitor를 받아들이는 형태 ElementVisitor: Visitable이 가지고 있는 멤버변수같은 값들을 가지고 원하는 처리를 한다. VisitableElement: Visitable을 받아들이는 형태만 구현하게 된다. 방문자 패턴 예시 - 1 방문자 패턴 관련된 클래스를 구현하자. 인터페이스를 구현 [Visitor.java] package com.bkjeon.visitor; public interface Visitor { publi..
데코레이터 패턴(Decorator Pattern) 동적으로 책임 추가가 필요할 때 사용한다. Component: 실질적인 인스턴스를 컨트롤하는 역할 즉, decorator와 Component를을 컨트롤 하는 역할이다. (method 부분이 책임 부분) ConcreteComponent: Component의 실질적인 인스턴스의 부분이며, 책임의 주체의 역할 즉, Component가 컨트롤하는 객체 Decorator: Component와 concrete decorator를 동일시 하도록 해주는 역할 즉, Decorator은 Component가 될 수 있고, Component들을 가지고 있는 모양세를 가지고 있다고 생각하면 된다. ConcreteDecorator: 실질적인 장식 인스턴스 및 정의이며 추가된 책임..
[springboot] JPA + QueryDSL + Predicate 에서 yyyy-MM-dd 형태의 날짜 조회 방법 * 조회할 날짜의 변수명을 registerdTime이라고 하며, DB에는 TimeStamp형식으로 저장된다. ( entity에는 LocalDateTime 속성임 ) 1. 파라미터값의 속성이 String인 registerdTime을 받아온다.(ex:yyyy-MM-dd 형식으로 받아오는걸로 가정) 2. 시작날짜와 끝 날짜를 구하는 공통 클래스를 만든다. [LocalDateParser.java] import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format..
[spring] 보안 Security - 2 1. 보안 관련 taglibs 추가 [dependencies 추가 pom.xml] 이클립스 기준 pom.xml -> 하단 Dependencies탭 클릭 -> Add.. 클릭 -> Enter groupId, artifactId or sha1 prefix ... 에 security 검색 -> org.springframework.security(spring-security-taglibs) 선택 [선언부] USER ID : Log Out 2. 보안 관련 taglibs 사용 방법 [before] is Log-In is Log-Out [after] is Log-In is Log-Out 참고: https://www.inflearn.com/course/%EC%9E%90%EB..
[spring] 보안 Security - 1 1. 보안 관련 라이브러리 추가 방법 1. https://docs.spring.io/spring-security/site/docs/5.0.6.RELEASE/reference/htmlsingle/ 에서 다운받거나 dependency 추가 방법 2. 이클립스 기준 pom.xml -> 하단 Dependencies탭 클릭 -> Add.. 클릭 -> Enter groupId, artifactId or sha1 prefix ... 에 security 검색 -> org.springframework.security(spring-security-acl) 선택 (1) security-context.xml 생성 ( src/main/webapp/WEB-INF/spring/appSe..
[spring] 트랜잭션(Transaction) - 2 PlatformTransactionManager 인터페이스 보다 더욱 많이 사용되는 TransactionTemplate에 대해 알아보자. TransactionTemplate은 PlatformTransactionManager보다 더 간편하게 사용할 수 있다. 1. dao에 트랜잭션 관련 내용 추가 [testDao.java] .... //PlatformTransactionManager transactionManager; TransactionTemplate transactionTemplate; // 트랜잭션 매니저 setter 추가 // public void setTransactionManager( PlatformTransactionManager tran..
[spring] 트랜잭션(Transaction) - 1 트랙잭션이란 논리적 단위로 어떤 한 부분의 작업이 완료되었다 하더라도, 다른 부분의 작업이 실패할 경우 전체 취소되는 것이다. 이때, 작업이 완료되는것을 커밋(commit), 취소(이전으로 되돌리다)되는 것을 롤백(rollback)이라한다. -> 일상생활에서는 카드 결제나 마일리지 적립 ATM 등 사용된다. 1. dao에 트랜잭션 관련 내용 추가 [testDao.java] .... PlatformTransactionManager transactionManager; // 트랜잭션 매니저 선언 // 트랜잭션 매니저 setter 추가 public void setTransactionManager( PlatformTransactionManager transa..
[spring] jdbc 1. JDBC를 이용한 반복코드 줄이기 - DAO객체를 이용해서 DataBase의 데이터를 이용한다. 이때 매번 같은 동작을 반복하는 부분이 있다. (ex: 드라이버 로드, 커넥션 생성, DB연결, SQL실행, 자원해제) 이런 반복적인 작업들을 스프링에서는 간단하게 처리가 가능하다. * JDBC 드라이버 로드(DriverManager) -> 데이터베이스 연결(Connection) -> SQL문 실행(Statement) -> 데이터베이스 연결 해제(ResultSet) --> 이러한것들을 jdbcTemplate에서 한번에 해결할 수 있다. 2. Spring빈을 이용한 코드 간소화 - jdbcTemplate 빈 안에는 Datasource빈이 있다. 이것을 java 파일에서 갖다쓴다. ..
[spring] 폼 데이터 값 검증 1. Validator를 이용한 검증 - 폼에서 전달 되는 데이터를 커맨드 객체에 담아 컨트롤 객체에 전달 한다고 하였다. 이때 커맨드 객체의 유효성을 검사할 수 있다. ( 해당 검사방법은 Validator 인터페이스를 이용하여 서버에서 검사하는 방법이다. ) [ex] @RequestMapping("/bong/create") public String testCreate(@ModelAttribute("m") Member member, BindingResult result) { // 에러의 결과를 바인딩한 객체(BindingResult) .... BongValidator validator = new BongValidator(); validator.validate(membe..