스프링

Spring/스프링5 프로그래밍 입문

초보 웹 개발자를 위한 스프링5 프로그래밍 입문 REVIEW

* 주관적인 생각으로 작성한 리뷰입니다. 계기 스프링 부트와 AWS로 혼자 구현하는 웹서비스를 읽으면서 스프링이 어떤 건지 대강 알겠다만, 작동원리나 깊은 개념은 설명해주지 않아 이론적인 부분이 부족했다. 그랬던 탓일까. 스프링 시큐리티부터 막혀서 토비의 스프링을 구매했다. 토비의 스프링은 입문자가 읽기에 이해하기 어려운 부분이 있었다. 때문에 스프링을 이미 알고 있는 사람이 읽어야 학습효과가 있을거라 생각했다. 그래서 김영한님 강의를 다시 보고 MVC파트까지 결제할까 고민했지만, 결제 금액도 상당한데다 강의를 전부 보기에는 시간이 많이 걸릴 것 같아 책을 찾아봤다.(요즘 강의보다 책을 선호 중임) 그렇게 알게 된 책이 초보 웹 개발자를 위한 스프링 5 프로그래밍 입문이었다. 당근해와서 야무지게 읽었다...

Spring/스프링5 프로그래밍 입문

Chapter 17. 프로필과 프로퍼티 파일

프로필 개발을 진행하는 동안에는 실제 서비스 목적으로 운영중인 DB를 이용할 수는 없다. 개발하는 동안에는 개발용 DB를 따로 사용하거나 개발 PC에 직접 DB를 설치해서 시용한다. 처음부터 개발 목적 설정과 실 서비스 목적의 설정을 구분해서 작성하기 위한 스프링 기능이 프로필(profile) 이다. @Configuration 설정에서 프로필 사용하기 @Configuration @Profile("dev") public class DsDevConfig { @Bean(destroyMethod = "close") public DataSource dataSource() { DataSource ds = new DataSource(); ds .setDriverClassName("com.mysql.jdbc.Drive..

Spring/스프링5 프로그래밍 입문

Chapter 16. JSON 응답과 요청 처리

JSON 개요 JSON(JavaScript Object otation)은 간단한 형식을 갖는 문자열로 데이터 교환에 주로 시용한다. 다음은 JSON 형식으로 표현한 데이터의 예이다. { "name": “유관순", "birthday": "1902-12-16", "age": 17, "related": "남동순" , ” 류예도"] "edu": [ { "title:": ”이화학당보통과", "year": 1916 }, { "title": ”이화학당고등과", "year": 1919 } ] } Jackson 의존 설정 Jackson은 자바 객체와 JSON 형식 문자열 간 변환을 처리하는 라이브러리이다. 스프링 MVC에서 Jackson 라이브러리를 이용해서 자바 객체를 JSON으로 변환하려면 클래스 패스에 Jackso..

Spring/스프링5 프로그래밍 입문

Chapter 15. 간단한 웹 어플리케이션 구조

간단한 웹 어플리케이션 구성요소 프론트 서블릿 컨트롤러 + 뷰 서비스 DAO 프론트 서블릿: 웹 브라우저의 모든 요청을 받는 창구 역할을 하며, 요청을 분석해서 알맞은 컨트롤러에 전달한다. 스프링 MVC에서는 DispatcherServlet이 프론트 서블릿의 역할을 수행한다. 컨트롤러: 실제 웹 브라우저의 요청을 처리한다. 컨트롤러는 클라이언트(브라우저)의 요청을 처리하기 위해 알맞은 기능을 실행하고 그 결과를 뷰에 전달한다. 컨트롤러의 주요 역할은 다음과 같다. 클라이언트가 요구한 기능을 실행 응답 결과를 생성하는데 필요한 모델 생성 응답 결과를 생성할 뷰 선택 서비스: 기능의 로직을 구현한다. 사용자에게 비밀번호 변경 기능을 제공하려면 수정 폼을 제공하고, 로그인 여부를 확인하고, 실제로 비밀번호를 ..

Spring/스프링5 프로그래밍 입문

Chapter12. MVC 2: 메시지, 커맨드 객체 검증

*Chapter11은 jsp에 대한 내용을 다루므로 블로깅은 스킵 태그로 메시지 출력하기 문자열을 별도 파일에 작성하고 JSP 코드에서 이를 시용하려면 다음 작업을 하면 된다. 문자열을 담은 메시지 파일을 작성한다. 메시지 파일에서 값을 읽어오는 MessageSource 빈을 설정한다. JSP 코드에서 spring:message 태그를 사용해서 메시지를 출력한다. 예제 메시지 파일 작성(lable.properties) member.register=회원가입 term=약관 term.agree=약관동의 next.btn=다음단계 member.info=회원정보 email=이메일 name=이름 password=비밀번호 password.confirm=비밀번호 확인 register.btn=가입 완료 register.d..

Spring/스프링5 프로그래밍 입문

Chapter6. 빈 라이프사이클과 범위

컨테이너 초기화와 종료 // 1. 컨테이너 초기화 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppContext. class); // 2. 컨테이너에서 빈 객체를 구해서 사용 Greeter g = ctx.getBean( "greeter", Greeter.class); String msg = g.greet("스프링"); System.out.println(msg); // 3. 컨테이너 종료 ctx.close(); 컨텍스트 객체 생성 시, 스프링 컨테이너 초기화. 스프링 컨테이너는 설정 클래스에서 정보를 읽어와 알맞은 빈 객체를 생성하고 각 빈을 연결(의존 주입)하는 작업을 수행 컨테이너 초기화가 완료되면 컨테..

Spring/스프링5 프로그래밍 입문

Chapter4. 의존 자동 주입

@Autowired 💡 @Autowired: 자동 주입 기능, 스프링이 알아서 의존 객체를 찾아 주입한다. 의존을 주입할 대상에 애노테이션을 붙이기만 하면 된다. @Autowired 애노테이션을 붙이면 설정 클래스에서 의존을 주입하지 않아도 된다. 스프링이 해당 타입의 빈 객체를 찾아서 필드에 할당한다. 일치하는 빈이 없는 경우 빈이 없는 경우 Error creating bean with name '—-'(UnsatisfiedDependencyException) 같은 에러 메시지가 나온다. 주입 대상에 일치하는 빈이 2개 이상일 경우 @Bean public MemberPrinter memberPrinter1() { return new MemberPrinter() ; } @Bean public Member..

Spring/스프링5 프로그래밍 입문

Chapter3. 스프링DI

의존이란? DI('Dependency Injection’)의 약자로 우리말로는 ‘의존 주입’ 이라고 번역한다. 이 단어를 이해하려면 ‘의존’이 뭔지 알아야 한다. 다음 코드를 살펴보자. import java.time.LocalDateTime; public class MemberRegisterService{ private MemberDao memberDao = new MemberDao(); public void regist(RegisterRequest req){ Member member = memberDao.selectByEmail(req.getEmail.()); if(member != null){ // 이메일로 회원 데이터(Member 조회); throw new DuplicateMemberExceptio..

Spring/스프링5 프로그래밍 입문

Chapter2. 스프링 시작하기

들어가며 스프링이란? 의존 주입(Dependency injection: DI) 지원 AOP(Aspect-Oriented Programming) 지원 MVC 웹 프레임워크 제공 JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원 이외에도 스케줄링, 메시지 연동(JMS), 이메일 발송, 테스트 지원 등 자바 기반의 앱을 개발하는데 다양한 기능을 제공해주는 프레임워크이다. 스프링에 관련된 프로젝트는 다양하다. 이중에 자주 사용되는 것은 다음과 같다. 스프링 데이터: 적은 양의 코드로 데이터 연동을 처리할 수 있도록 도와주는 프레임워크 스프링 시큐리티: 인증/인가와 관련된 프레임워크로서 웹 접근 제어, 객체 접근 제어, DB · 오픈ID · LDAP 등 다양한 인증 방식, 암호화 기능을 제공 스프..

지구우중
'스프링' 태그의 글 목록