본문 바로가기

language/Spring

(15)
[Spring/Spring Security] spring framework에 BCryptPasswordEncoder 적용시키기 1. BCryptPasswordEncoder 스프링 시큐리티(Spring Security) 프레임워크에서 제공하는 클래스 중 하나로 비밀번호를 암호화하는 데 사용할 수 있는 메서드를 가진 클래스 스프링 시큐리티 5.4.2 이상 부터 위의 세가지 메소드를 다 사용할 수 있습니다. encode() : 암호화되지 않은 것들을 암호화 시키는 메소드 입니다. matches() : storage에서 가져온 인코딩된 암호가 인코딩된 후 제출한 원시암호와 일치하는 지 확인하는 메소드 입니다. boolean 형으로 반환하는데 일치하면 true로 반환하고 일치하지 않으면 false를 반환합니다. 그렇다고 암호 자체가 디코딩되는 것이 아닙니다. upgradeEncoding() : 보안을 위해 인코딩 된 암호를 다시 인코딩 ..
[Spring/Maven] 검색기능 관련 maven (pom.xml) com.querydsl querydsl-jpa com.querydsl querydsl-apt MavenRepository 사이트에서 querydsl을 검색하고 체크한 두 개의 코드를 가지고 오면 됩니다.
[Java/Spring] FileUpload maven 설정 commons-fileupload commons-fileupload 1.4 Maven Dependencies 내부에 밑과 같은 jar파일이 확인되면 됩니다.
[Java/Spring] Spring 프로젝트 pom.xml에 적을 Postgresql maven Postgresql maven org.postgresql postgresql 42.3.3 Postgresql을 연동시키기 위한 Spring jdbc, Commons dbcp2 org.springframework spring-jdbc 5.3.16 org.apache.commons commons-dbcp2 2.9.0
[Java/Spring] Spring Transaction / 스프링 트랜잭션 처리 스프링의 트랜잭션 : 스프링에서 트랜잭션 처리를 컨테이너가 자동으로 처리하도록 설정하는 것을 말합니다. 스프링 트랜잭션 설정에는 AOP가 사용됩니다. XML 기반의 AOP 설정만 사용할 수 있고 어노테이션 설정은 사용할 수 없습니다. 엘리먼트를 사용하지 못하고 엘리먼트를 사용해야 합니다. 1. 트랜잭션 네임스페이스 추가 및 관리자 등록 트랜잭션을 사용하기 위해서는 applicationContext.xml 파일에 네임스페이스를 추가해줘야 합니다. 스프링이 제공하는 모든 트랜잭션 관리자는 트랜잭션 관리에 필요한 commit(), rollback() 메서드를 가지고 있습니다. - applicationContext.xml에 트랜잭션 관리자 등록 (원래 사용하던 프로젝트에 트랜잭션 처리를 해보는 것이므로 현재 a..
[Java/Spring] Spring project에 Spring JDBC 설정하기 1 기존의 JDBC 코드들은 드라이버 로딩, 커넥션 연결, SQL문 전송, 결과 받기 등 일련의 반복된 과정을 수행하도록 구성되어 있습니다. 이런 코드들을 대신해서 처리해주고 관리해주는 것이 바로 Spring JDBC입니다. JdbcTemplate 클래스 JdbcTemplate은 GoF 디자인 패턴 중 템플릿 메서드 패턴이 적용된 클래스 입니다. 템플릿 메서드 패턴은 복잡하고 반복되는 알고리즘을 캡슐화해서 재사용하는 패턴으로 정의할 수 있습니다. (JDBC 코딩처럼 순서가 정형화된 기술에서 유용하게 사용 가능 합니다.) Spring JDBC 설정 1. 라이브러리 추가 Spring JDBC와 DBCP API 의존성 추가 : mvnrepository.com 에서 spring-jdbc, commons-dbcp2 ..
[Java/Spring] JoinPoint와 바인드 변수 JoinPoint 인터페이스 : 횡단관심에 해당하는 어드바이스 메서드를 의미 있게 구현하기 위해 클라이언트가 호출한 비즈니스 메서드의 정보가 필요하기 때문에 사용 JoinPoint 메서드 메서드 설명 Signature getSignature() 클라이언트가 호출한 메서드의 시그니처(리턴타입, 이름, 매개변수) 정보가 저장된 Signature 객체를 리턴 Object getTarget() 클라이언트가 호출한 비즈니스 메서드를 포함하는 비즈니스 객체 리턴 Object getArgs() 클라이언트가 메서드를 호출할 때 넘겨준 인자 목록을 Object 배열로 리턴 - Before, After Returning, After Throwing, After 어드바이스는 JoinPoint를 사용하고 Around 에서만 ..
[Java/Spring] AOP Pointcut 표현식 XML 스키마 혹은 @Aspect 어노테이션을 이용해서 Aspect를 설정할 때 AspectJ 문법을 이용해서 Pointcut을 설정합니다. - 다양한 Pointcut 명시자를 제공하지만 스프링에서는 메서드 호출과 관련된 명시자만 지원하고 있습니다. Pointcut 표현식 종류 execution 명시자 within 명시자 bean 명시자 Pointcut의 조합 execution 명시자 execution 명시자는 Advice를 적용할 메서드를 명시할 때 사용합니다. 기본 형식 execution(리턴타입패턴 패키지경로패턴.클래스이름패턴.메서드이름패턴(파라미터패턴)) 각 패턴은 "*"을 이용하여 모든 값을 표현할 수 있습니다. "."을 이용해서 0개 이상이라는 의미를 표현할 수 있습니다. 클래스이름 뒤에 +를..