일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 페이징
- Generic
- JQuery
- 엔티티직접사용
- namedQuery
- paging
- jQuery값전달
- JPA
- values()
- 페치조인
- 벌크연산
- javascriptcalendar
- calendar
- jQuery값전송
- fullcalendar
- javaservlet
- joinfetch
- LIST
- springflow
- JPQL
- jscalendar
- 제네릭
- Hibernate
- fetchjoin
- 대량쿼리
- 자바서블릿
- jQueryUI
- 프로젝트생성
- 스프링데이터흐름
- 제너릭
- Today
- Total
목록공부/Spring (16)
가자공부하러!
섹션3 실전 프로젝트 1. 실전 프로젝트 구성 구성 : spring boot, spring mvc, spring data jpa, postgresql 2. 정적 자원 접근관리 인증, 인가가 필요 없는 정적 자원에 대해서는 무시하는 설정 permitAll은 필터체인을 거쳐서 무시되지만 ignore는 필터체인에 들어오지도 않음 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { private final String[] IGNORED_MATCHER_PATTERNS = {"/static/**", "/css/**", "/js/**", "/static/css/images/**", "/we..
섹션2 스프링 시큐리티 주요 아키텍처 1. 위임 필터 및 필터 빈 초기화 - DelegatingFilterProxy, FilterChainProxy DelegatingFilterProxy ServletFilter servlet 스펙 2.3부터 도입됨. servlet으로 요청이 들어가기 전, 후에 동작 servlet 컨테이너가 만들고 관리 스프링에서 만든 내용을 주입받아 사용할 수 없음 DelegatingFilterProxy servlet 필터를 거친 요청을 Spring Bean에 위임시키는 역할 servlet컨테이너가 초기화될 때 servletFilter로 등록됨 ApplicationContext에서 springSecurityFilterChain을 찾아 보안처리 위임 FilterChainProxy spr..
섹션1 스프링 시큐리티 기본 API 및 Filter 이해 1. spring-boot-starter-security 디펜던시를 추가하면 무슨일이 생기나 서버가 기동되면 스프링 시큐리티의 초기화 작업 및 기본적인 보안 설정이 이루어진다. 기본적인 보안 설정? 모든 요청에 대해 인증을 요구한다. 인증 방식은 폼 로그인 방식과 httpBasic로그인 방식을 제공한다. 기본 로그인 페이지 제공 기본 계정 제공 : user / {password}Using generated security password: 4add4fb7-0180-4223-8cde-a278183cb58c 2. 사용자 정의 보안 기능 구현(Customizing) WebSecurityConfigurerAdapter 서버가 구동되면서 이 클래스를 호출한..
#8장. 스프링이랑 무엇인가? 요약 및 결론 스프링의 개발철학과 목표를 분명히 이해하고 사용해야 한다. 멋진 애플리케이션을 위해서 책 내용 스프링은 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크다. 기술적 복잡함과 비즈니스 로직의 복잡함을 해결하기 위해 등장했다. 핵심은 POJO위에서 IoC/DI, AOP, PSA POJO는 사실 그럴싸하게 이름만 붙여놓은 것 1. 스프링의 정의 스프링을 짧게 설명하는 것은 쉽지 않고 짧은 설명으로 충분하지도 않다. 가장 잘 알려진 정의 -> 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 애플리케이션 프레임워크 특정 계층, 기술, 업무 분야에 국한되지 않고 애플리케이션 전 영역을 포괄하는 범용적인 프레임워크..
#7장. 스프링 핵심 기술의 응용 요약 및 결론 책 내용 스프링의 모든 기술은 결국 객체지향 언어의 장점을 적극적으로 활용해서 코드를 작성하도록 도와주는 것이다. 7장에서는 IoC/DI, 서비스 추상화, AOP를 애플리케이션 개발에 활용해서 새로운 기능을 만들어보고 스프링의 가치와 사용자에게 요구하는 것에 대해 살펴본다. 디폴트 의존관계 : 외부에서 DI 받지 않는 경우 기본적으로 자동 적용되는 의존관계(593p) 1. SQL과 DAO의 분리 UserDao로 돌아가보면... 충분한 개선이 이뤄졌었지만 테이블이 바뀔 때 마다 SQL문장을 담고있는 DAO에 수정이 발생할것이다. SQL을 DAO에서 분리하면 더 좋겠다. XML 설정을 이용한 분리 가장 손쉽게 생각해볼 수 있는 방법 개별 SQL 프로퍼티 방식...
github : https://github.com/HyeongJunMin/tobyspring/blob/6-AOP/src/main/resources/md-files/Ch6AOP.md #6장. AOP 요약 및 결론 책 내용 AOP는 스프링 3대 기반기술 중 하나이다.(IoC/DI, 서비스 추상화) OOP를 대체하려는 것 처럼 보이는 AOP의 등장배경과 스프링이 이것을 도입한 이유, 장점을 이해해야 한다. 1. 등장배경 : 여러 핵심기능들에 중복되는 부가기능들이 있었음 2. 이유 : 부가기능들을 깔끔하게 뽑아내고 싶었음 3. 장점 : 중복 없이 독립적인 모듈로 구분해냈음. 핵심기능은 순수하게 그 기능을 담은 코드로만 존재하고 독립적으로 살펴볼 수 있도록 구분된 면에 존재하게 됨어드바이스 : 스프링에서 타깃 객..
github : https://github.com/HyeongJunMin/tobyspring/blob/5-ServiceAbstraction/src/main/resources/md-files/Ch5ServiceAbstraction.md #5장. 서비스 추상화 요약 및 결론 서비스 추상화 잘 쓰세요 @Transactional 쓰면 ㅇㅋ? 목 객체 : 테스트 대상으로부터 전달받은 정보를 검증할 수 있도록 설계된 것 책 내용 기존 프로젝트에 스프링의 원칙들을 지키면서 신규 기능(등급관리, 메일발송)을 추가하는 과정 테스트를 목적으로 추상화 (UserService -> TestUserService, MailSender -> DummyMailSender) 1. 사용자 레벨 관리 기능 추가 지금까지의 DAO는 단순 ..
원본 : https://github.com/HyeongJunMin/tobyspring/blob/4-Exception/src/main/resources/md-files/Ch4Exception.md #4장. 예외 요약 및 결론 서버개발환경에서는 하나의 요청에 대한 작업에서 예외가 발생하면 그 작업만 끝내고 요청한 클라이언트에게 알려주면 된다. 예외처리는 이렇게? 1. 예외가 발생했을 때 코드레벨에서 복구할 수 있으면 그렇게 한다. (예외 복구) 2. 복구 가능성이 없으면 런타임 예외 방식으로 처리한다. - 적절한 의미를 갖는 예외로 변경해서 알리기(예외 전환)예외를 기대하는 테스트를 만들 때, 추상화된 예외는 조심히 쓰세용 ^^ 책 내용 JdbcTemplate을 적용하고 SQLException이 없어졌다. ..
원본 : https://github.com/HyeongJunMin/tobyspring/blob/3.6-JdbcTemplate/src/main/resources/md-files/Ch3Template.md #3장. 템플릿 요약 및 결론 템플릿/콜백 : 콜백이라는 이름의 의미처럼 다시 불려지는 기능을 만들어서 보낸다. 배운 내용 정리 - 이 책이 나온 당시에는 JdbcTemplate이 많이 사용됐었나 보다. - 예외처리, 자원관리 등 변하지 않는 부분을 메서드(jdbcContextWithStatementStrategy)로 빼고 - 메서드로 추출한 내용을 다른 클래스에서도 쓸 수 있도록 별도 클래스(JdbcContext)로 분리하는 과정을 보면서 - 중복된 내용들을 어떻게 제거해서 깔끔하고 재사용하기 좋은 코드..
원본 : #2장. 테스트 요약 및 결론 테스트는 코드가 개발자의 의도대로 동작하는지에 대한 검증을 자동화시켜서 신경써야될 부분을 줄여주고 성능의 신뢰도를 높인다. 지금 사용하던 JUnit, AssertJ와 사용방법이 다르다. 앞으로도 계속 바뀔 가능성이 높으니 계속 잘 배우자 TDD : 테스트를 먼저 만들어 두면 개발이 끝나자마자 검증을 수행할 수 있어서 개발한 코드의 오류를 아주 빠르게 발견할 수 있다. 더 늦게 발견할 수록 해결하기 더 어렵다. 책 내용 스프링이 개발자에게 제공하는 가장 중요한 가치는 객체지향과 테스트 라고한다. 테스트의 장점 : 코드에 대한 확신, 변화에 유연하게 대처할 수 있는 자신감 내용 : 테스트란, 테스트의 가치/장점/활용전략, 스프링과의 관계 1. UserDaoTest 다시..
github : https://github.com/HyeongJunMin/toby-spring #1장. 오브젝트와 의존관계 요약 및 결론 IoC가 생겨나게 된 원인부터 차근차근 성장 과정을 지켜본 느낌 막연히 'IoC는 스프링의것'이라고 생각이 한계에 닿아 있었는데 뚫림 스프링을 공부한다. = DI를 어떻게 활용해야 할지를 공부한다. 제어의 역전 IoC의 요약 : 객체를 생성하고 객체 간 의존관계를 맺는 작업을 개발자가 직접하는 대신 프레임워크가 하는 것 IoC의 장점 프로그램의 수행과 구체적인 구현을 분리시킬 수 있다.(구현이 바뀌는 일이 생겨도 그 객체를 사용하는 프로그램 수행부에서는 변경이 필요 없다.) 여러가지 구현체들 사이의 변경이 용이하다. 모듈간 의존성이 낮아진다. 제어의 역전..
참고 : https://www.slipp.net/questions/10 참고 : https://spring.io/guides/gs/async-method/ 참고 : https://www.baeldung.com/spring-async 참고 : https://regardingit.tistory.com/34 1. 개발환경 - JDK 8 - Spring Framework - Hibernate 2. @Async? - 메소드를 비동기처리하기 위한 어노테이션 - 제약 > public 메소드여야만 한다. > 동일한 클래스 내에서 @Async 메소드를 호출할 수 없다.