일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다운캐스팅
- Random
- 전체
- 업캐스팅
- 로또
- Login with OAuth Authentication
- 다형성
- 스프링
- while
- 이클립스
- jquery
- angular2
- full text indexing
- 형변환
- 전체텍스트
- 야구게임
- 자바 야구게임
- 전자정부
- 페이징
- 단축키
- 가변인자
- IBatis procedure
- 상속예제
- 25가지 효율적인 sql작성법
- 상속
- 추상클래스
- Full text
- 자바
- Validations
- Today
- Total
목록SPRING (109)
nalaolla
이번 시간엔 SpringBoot & Handlebars로 간단한 화면을 만들 예정입니다. (모든 코드는 Github에 있습니다.) Handlebars는 흔히 사용하시는 Freemarker, Velocity와 같은 서버 템플릿 엔진입니다. JSP는 서버 템플릿 역할만 하지 않기 때문에 JSP와 완전히 똑같은 역할을 한다고 볼순 없지만, 순수하게 JSP를 View 용으로만 사용하실때는 똑같은 역할이라고 보시면 됩니다. 결국 URL 요청시, 파라미터와 상태에 맞춰 적절한 HTML 화면을 생성해 전달하는 역할을 하는것으로 보시면 됩니다. Tip) JSP, Freemarker, Velocity가 몇년동안 업데이트가 안되고 있어 사실상 SpringBoot에선 권장하지 않는 템플릿엔진입니다. (Freemarker는 ..
이번 시간엔 SpringBoot & JPA로 간단한 API를 만들 예정입니다. Tip) 아직 SI 환경에선 Spring & MyBatis 를 많이 사용하지만, 쿠팡/우아한형제들/NHN Entertainment 등 자사 서비스를 개발하는 곳에선 SpringBoot & JPA를 많이 사용하고 있습니다. 특히 기존 프로젝트 환경을 개편하시는 분들은 거의 위 스택으로 전환하려고 합니다. SpringBoot & JPA로 진행하시면 진짜 집중해야할 비지니스 로직에만 집중할수 있습니다. (Express, Django, Rails 못지않게 생산성이 좋습니다.) 자사 서비스를 운영하는 회사에선 점점 더 많이 사용되고 있기 때문에 이런 회사로 가고자 하시는 분들은 이번 기회에 꼭! 시작해보셨으면 합니다. 첫번째 기능으로 ..
많은 웹 서비스 구축하기 강좌들이 Python, NodeJS, Ruby, PHP만 다루고 있습니다. 국내에서 가장 많이 사용하는 언어인 Java로 웹서비스 구축 강좌는 본적이 없습니다. Java는 대부분 로컬에서 CRUD & localhost:8080으로 게시판 구축하기가 전부였습니다. 그러다보니 웹 서비스를 시작하는 많은 분들이 Java가 아닌 스크립트 언어로만 진행하십니다. 분명 국내 웹 환경이나 자료들이 Java & Spring이 많음에도 다른 스크립트 언어들로 시작하는 것은 이런 강좌가 없어서 그럴수 있다고 가정했습니다. 그래서 Java & Spring으로 웹 서비스 구축하기 시리즈를 시작하게 되었습니다. 개발환경 기본적으로 Git & Github을 써보신걸 가정하고 진행하겠습니다. 만약 Git을..
11.5.4 다른 빈에 다른 트랜잭션의 의미를 설정하기 다수의 서비스계층 객체가 있고 각각에 완전히 다른 트랜잭션 설정을 적용하고자 하는 시나리오를 생각해 보자. 이러한 경우 다른 pointcut과 advice-ref 속성값을 가진 별개의 요소를 정의할 수 있다. 약 간의 차이점있지만 우선 모든 서비스 계층의 클래스는 x.y.service 패키지 루트에 정의되어 있다고 가정한다. 모든 빈을 이 패키지(혹은 그 하위 팩키지)에 정의된 클래스의 인스턴스로 만들고 Service로 이름이 끝나는 모든 빈이 기본 트랜잭션 설정을 가지도록 하려면 다음과 같이 작성해야 한다. Xml 다음 예제는 환전히 다른 트랜잭션 설정으로 별도의 두 빈을 설정하는 방법을 보여준다. Xml 11.5.5 설정 이번 색션에서는 태그를 ..
In this article, we will show you three ways to get the current logged in username in Spring Security.1. SecurityContextHolder + Authentication.getName()import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework..
개발환경 스프링 시큐리티(Spring Security)는 스프링 서브 프로젝트 중 하나로 스프링 기반의 어플리케이션을 보호하기 위한 필수적인 프레임워크이다. 스프링을 사용하면서 자체적으로 세션을 이용한 인증방식을 구현한다면 바보같은 짓일 것이다. 스프링 시큐리티는 보안을 체계적으로 관리하며 개발한 스프링 어플리케이션들과 유연하게 연결된다. 그리고 오랜기간 다양한 피드백으로 개발되어 신뢰도가 높을 것이다. 스프링에 최적화된 스프링 시큐리티 보다 안정적인 프레임워크는 아마 없을 것이다. 무엇보다 스프링에서는 스프링 시큐리티를 표준으로 정의하고 있다. 스프링 시큐리티의 기본 예제를 먼저 알아보도록하겠다. 실무에서 사용할 수 없겠지만 스프링 시큐리트가 어떻게 구현되는 지 알 수 있는 예제이다. 프로젝트를 생성하..
Spring Security 에서 커스텀 AuthenticationProvider를 사용하는 예 스프링에서 Spring Security 를 이용하면 사용자를 인증하고 권한에 따라서 특정 경로에 접근하는 것을 제한하는 기능을 설정으로 쉽게 적용할 수 있다. 그러나 설정만으로 모든 것을 처리할 수 있는 것은 아니므로 필요하다면 AuthenticationProvider 인터페이스를 구현하여 authenticate()메소드를 오버라이드하면 인증하는 부분의 로직을 개발자가 모두 작성할 수 있다. 이용자가 로그인 폼에서 데이터를 Spring Security 으로 전송하면 AuthenticationProvider의 authenticate()가 호출되어 인증절차를 진행하는데, 이 메소드를 개발자가 오버라이드하면 된다...
abstract factory pattern은 생산적인 디자인 패턴 중 하나로써 좀 더 factory를 좀 더 생산적으로 만들어 낼 수 있다는 점외에는 factory pattern과 매우 비슷하다.여러분이 java의 factory design pattern에 익숙하다면, 보통은 어떠한 인풋에 대해 factory class안에서 if-else로 다른 sub-class를 반환하는 일련의 과정을 통해 목적을 달성할 것이다.abstract factory pattern에서는 if-else 구문을 없애고, sub-class마다 factory class를 가지게 하고 Abstract Factory에서는 input factory class를 통해 해당 sub-class를 반환한다. 처음보기에는 factory patte..
factory pattern은 유명한 디자인 패턴 중 하나이다. 이것 역시 JDK 및 우리가 잘 알고 있는 Spring, Struts 프레임워크에 많이 사용되고 있다.super class와 여러개의 sub class가 있는 상황에서 input이 발생하면 하나의 sub class를 반환해야 할때 factory pattern이 사용된다. factory class는 client class로 부터 인스턴스를 생성하는 책임을 가져온다.슈퍼 클래스factory pattern에서 super class는 interface, abstract class 또는 일반적인 java class가 될 수 있다. 예제에서 super class 로 abstract class를 사용하는데, 테스팅을 위해 toString() method..