300x250
반응형

Back-End/Spring 67

[Spring Boot] Spring Security의 동작

Spring Security 란? Spring Security는 스프링 기반의 어플리케이션 보안을 담당하는 프레임워크이다. Spring Security를 사용하면 사용자 인증, 권한, 보안처리를 간단하지만 강력하게 구현 할 수 있다. Filter 기반으로 동작하기 때문에 Spring MVC와 분리되어 동작한다. Spring Security를 이해하기 위해서는 먼저 보안관련 용어를 숙지해야 한다. 접근 주체(Principal) 보안 시스템이 작동되고 있는 애플리케이션에 접근하는 유저 인증(Authentication) 접근한 유저를 식별하고, 애플리케이션에 접근할 수 있는지 검사 인가(Authorize) 인증된 유저가 애플리케이션의 기능을 이용할 수 있는지 검사 SecurityFilterChain 일반적으로..

Back-End/Spring 2023.02.09

[Spring Boot] Spring Security 적용하기

Spring Security 란? Spring Security는 스프링 기반의 어플리케이션 보안을 담당하는 프레임워크입니다. Spring Security를 사용하면 사용자 인증, 권한, 보안처리를 간단하지만 강력하게 구현 할 수 있습니다. Spring Boot + Hibernate + SpringSecurity + thymeleaf + mariadb를 이용해 간단한 회원 가입 및 로그인 기능을 구현해보겠습니다. pom.xml ... 2.1.9.RELEASE ... org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat provided org.springframework.boot s..

Back-End/Spring 2023.02.09

[Spring]Spring MVC 활용

Spring MVC 설정 구조 Maven Project 생성 Spring MVC는 웹에서 돌아가는 프로젝트 임으로 Maven web-app archetype 으로 생성 의존성 추가 servlet , jsp , jstl 의존성 추가. jsp, jstl은 리액트나 뷰같은 프론트 프레임워크를 따로 사용한다면 필요하지 않지만 javax.servlet 은 필수적이다. Spring에서 servlet은 Dispatcher Servlet이 사용되고 Front Controller로써 작동하게 된다. Spring 의존성 spring-context : 스프링 bean context 사용을 위해서 필요! spring-webmvc : spring web mvc 모델을 사용할 예정이여서 추가 ! db 도 사용한다면 spring-..

Back-End/Spring 2023.02.09

[Spring]Log4j 와 slf4j (maven 설정, commons-logging, appender, logger, layout)

참조문서 : https://logging.apache.org/log4j/2.x/ 1. log4j 란? log for java 의 약자로서 로깅을 위한 라이브러리이다. 로깅 라이브러리를 별도로 사용하지 않는다면, system.out.println()으로 할 것이다. 개발환경이야 상관없겠지만, 운영환경에서는 리소스낭비이다. 그렇다고 안쓰자니 에러상황에서 로깅이 아쉽다. 이럴 때 log4j 를 사용하면 해결할 수 있다. 특징 system.out.println() 에 비해 속도가 훨씬 좋다. 멀티스레드 환경에서 사용해도 안전하다. 계층적인 로그 설정과 처리가 가능하다ㅏ. 출력을 콘솔, 파일, 원격, email, DB 등 다양하게 가능하다. 2. slf4j Simple Logging Facade For Java ..

Back-End/Spring 2023.02.09

[Spring]Spring MVC - 게시판 만들기 입문편

스프링에서 제공하는 MVC 프레임워크를 이용해 게시판을 만들어 보자. * 서비스 되는 게시판이 아닌 학습용 예제에 맞는 게시판이다. 보통 필자는 게시판을 만드는 프로세스는 다음과 같이 진행한다. DB에 게시판 테이블 생성하기 테이블 컬럼 값들을 DTO(VO) 객체 클래스에 매핑 CRUD 만들기 SQL문 쿼리 작성하기 MyBatis Mapper 작성(xml) DAO 인터페이스 만들기 DAO implements 메서드 구현 Service 인터페이스 만들기 Service implements 메서드 구현 Controller 클래스 만들기 View 역할의 게시판 페이지 board_list.jsp 코드 작성 그러나 이번 포스팅에서 진행할 프로세스는 게시판 목록 페이지 구현을 위해서 '최소한'의 작업만 진행할 것이기..

Back-End/Spring 2023.02.09

[Spring] Spring 설정 Xml Config에서 Java Config로 바꾸는 방법 (요령)

1. property 가 없는 bean Xml Config에서 위처럼 bean을 선언할때 어떠한 property도 가지고 있지 않은 경우이다. @Bean public AcceptHeaderLocaleResolver localeResolver() { return new AcceptHeaderLocaleResolver(); } Java Config에서는 @Bean을 하나 만들어주고 return type으로 Xml Config에서 class에 해당하는 class를 넣어준다. 그리고 메소드명은 bean id에 해당하는것을 넣어주면 된다. 만약 bean id 가 없는 bean이라면 클래스명의 앞을 소문자로 바꾼것을 메소드명으로 사용하면 된다. (acceptHeaderLocaleResolver) 그리고 return..

Back-End/Spring 2023.02.06

[Spring] Spring 설정을 XML에서 Java Config로 바꾸기

Spring 설정을 XML에서 Java Config로 하는 이유 수정 시 재배포는 XML이든 Java Config든 같음 XML은 문서가 길어지면 가독성이 좋지 않음 XML은 단지 문서일 뿐이므로 휴먼 에러를 인지하는 타이밍이 컴파일 단계에서 알아 차릴 수 있는 Java Config보다 느림 Annotation 메타 정보 활용 Annotation을 이용한 프로그래밍 방식이란, Java 리플렉션 API를 이용해 Annotation의 메타 정보를 조회하고, Annotation 내에 설정된 값을 가져와 작업을 수행합니다. Anotation은 Spring이 참조하는 메타 정보로 사용되기 때문에 유리한 점이 많습니다. Spring 설정 파일을 따로 관리할 필요가 없음 XML보다 명료함(XML은 설정이 많아지면 파..

Back-End/Spring 2023.02.06
300x250
반응형