공부/Spring 9

스프링 프레임워크 자원관리(BEAN)

Spring Freamwork에서 해당 인스턴스를 싱글턴으로 관리하게 하려면 Bean 설정을 해줘야한다. 주입해주는 방법은 1. xml의 설정파일을 만들어서 관리하거나 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); ... 2. @Configuration를 선언한 클래스에 @Bean을 이용할 수 있다. ApplicationContext context = new AnnotationConfigApplicationContext("com.example.spring02"); @Bean public Book book1(){ return new Book(); } 3.@Component를 이용하면 된다. ..

공부/Spring 2022.10.12

Spring 개발환경 설정 정리2[AOP, intercepter]

>>AOP 1. AOP 관련 라이브러리 추가,(spring-tx :트랜잭션 처리를 위한 라이브러리) org.springframework spring-tx ${org.springframework-version} org.springframework spring-aop ${org.springframework-version} 2. AOP기능 적용을 위해서는 AspectJ 언어의 문법을 이용함. >라이브러리 추가 aspectj aspectjrt 1.5.4 aspectj aspectjweaver 1.5.4 3. root-context.xml 설정 aop,context,mybatis-spring,tx에 체크 >>Interceptor 단순 로그인 처리를 하는 가장 간단한 방법은 Servlet의 Filter와 유사한 인..

공부/Spring 2016.12.07

Spring 개발환경 설정 정리[spring,Mybatis(mysql),tomcat]

0. 프로젝트 생성 new>project>spring project> spring mvc project * spring starter project를 사용하지 않는다. ** STS는 기본적으로 maven을 내장하고 있기 때문에 프로젝트 생성 시 바로 maven을 이용해서 스프링 관련 라이브러리를 다운한다. - 책에 나온 Spring Starter Project와 Spring Proejct 비교. Spring Starter Project(Spring Boot) Spring Project 장점 . 별도의 설정이 필요 없다. . WAS없이 실행이 가능하다. . 로딩 시간이 짧아서 테스트 하기에 편하다. . 현재까지 실무에서 많이 사용되고 있다. . 다양한 자료가 존재한다. . 기존 프로젝트를 이해하는데 도움이..

공부/Spring 2016.04.08

내가 헤깔려하는것을 다시 정리해봄.

0. Spring의 Model 클래스 스프링 MVC에서 기본적으로 제공되는 클래스로 뷰에 원하는 데이터를 전달하는 일종의 컨테이너, 상자 역할을 함. Model이라는 객체에 addAttribute()등의 method를 이용해 데이터를 담고, jsp에 전달하게 된다. addAttribute("이름",객체) / 객체에 이름을 보여해 뷰에서 이름값을 이용해 객체를 처리한다. addAttribute(객체) /와 같이 사용할 경우 객체의 클래스명 맨 앞글자를 소문자로 처리후 이름으로 간주(ex TestVO ->testVO) 1. JSTL 문법 ${ } model의 addAttribute로 추가된 객체의 값을 뷰에서 호출할 때 쓰임 2. Spring 애노테이션 @ModelAttribute("이름")객체 객체명 자동..

공부/Spring 2016.04.08

[Spring] CHAPTER 05 비즈니스 로직 층의 설계와 구현

비즈니스 로직 층 : 업무처리를 하는 곳. 비즈니스 로직과 밀접한 관계가 있는 트랜잭션 처리는 비즈니스 로직 층에서 잘 대응해야 한다. 5.1 웹 어플리케이션의 트랜잭션1) 롱 트랜잭션(약한 결합 트랜잭션) : 여러 요청에 걸친 트랜잭션으로 ex) 영화예매 (영화관 검색, 자리선택및 요금결제 - 은행에서 돈 인출 )2) 쇼트 트랜잭션(밀결합 트랜잭션): 하나의 요청 안에서 트랜잭션 처리를 하는 것 ex) 주문확정(발주 테이블 갱신, 고객 테이블 갱신, 재고 테이블 갱신) 5.1.3 AOP를 이용한 트랜잭션 처리만약 JDBC를 이용한다면 커넥션을 서비스와 DAO에서 공유해야 하므로 인수를 넘겨줘야 하는 등의 대응이 필요하지만 AOP를 사용하면 그럴 필요가 없다.스프링이 제공하는 트랜잭션 매니저와 트랜잭션 ..

공부/Spring 2016.03.23

[Spring] CHAPTER 04 데이터 엑세스층의 설계와 구현

이 책을 홍보하는건 아니지만 쭉 읽어가다 궁금한 부분이 생기면 '다음장에 자세히 설명되있다' 라든지 비슷한 문구들이 있어 믿는구석이 생겨 그냥 읽어나가는데 큰 벽이나 문제점이 생기지 않는듯하고 또 중간중간에 호기심을 자극하는 여러 요소들이 있어 책의 내요에 대한 흥미를 떨어뜨리지 않게 도와주는것 같다.ㅋㅋㅋ ---------------------------------------------------------------------------------------------------------------------------------------------- 4장 데이터 액세스층의 설계와 구현 데이터 액세스층의 역할은 앞서 말했듯이 DB의 접속과 SQL 발행같은 데이터 액세스 처리를 (가장 중요한 역할을..

공부/Spring 2016.02.24

[Spring] CHAPTER 03 스프링의 AOP

DIxAOP 컨테이너의 AOP (Aspect oriented programming .. 관점지향 프로그래밍) DI 컨테이너를 이용하는 것 만으로는 컴포넌트 내부의 오브젝트에 손을 쓸 수 없다. Aop를 이용하면 로그처리, 예외처리, 트랜잭션 처리 등 오브젝트 안에 있는 공통된 처리를 제거 할 수 있다. 이로인해 소스의 가독성이 올라가고 테스트하기 용이해진다. AOP는 공통화해서 라이브러리화 할 수 있는 처리를 그 오브젝트에서 분리해서 별도의 오브젝트로 구현하는 기술이다! AOP의 용어 (한번 보고 이해가 완벽히 되지 않았지만 아래 내용들을 보고나서 한번 더 보니 조금은 이해가 갔다!) 횡단관심사 본질적은 처리 이외의 처리(로그,예외 등)를 말하는듯함.. 애스팩트 횡단관심사의 동작과 그 횡단관심사를 적용하..

공부/Spring 2016.02.23

[Spring] CHAPTER 02 스프링의 DI

DI (의존관계주입, Dependency Injection) 오브젝트가 이용할 오브젝트를 이용하는 것 오브젝트 사이에 의존관계를 만드는 것. 이외에도 생애주기와 관련된 기능이 있다. ex) main에서 service를 new 로 생성 -> service에서 Dao를 new로 생성했떤 과정을 DI컨테이너가 해주므로 new 연산자가 사라짐. 인터페이스와 DI 사용의 장점 클래스 기능 추가, 변경시 다른 클래스에 미치는 영향 범위를 최소화함 → 개발효율 증대와 확장 용이 (부품화의 장점) DI컨테이너는 클래스를 단 한번 인스턴스로 만들고 필요에 따라 재사용하는 싱글톤을 구현해줌. 부품화의 특성을 살려 Interface와 함께 구현된 애플리케이션↓ 어노테이션을 이용한 DI 스프링은 크게 Bean 정의 파일을 사..

공부/Spring 2016.02.17

[Spring] CHAPTER 01 스프링과 웹 어플리케이션 살펴보기

한빛미디어 스프링3 입문이란 책을보며 공부한 내용을 블로그에 포스팅하려고 합니다.>> 스프링의 등장은 J2EE가 점점 무거워지며 웹 어플리케이션 개발에 좀 더 가벼운 컨테이너를 이용하기 위해 경량급으로 고안된 프레임워크. 하지만 요즘엔 기능과 제품이 더해져서 더이상 경량이라고 안부른다고 함. 경량컨테이너 POJO(plain old java Object) 컨테이너나 프레임워크 등에 의존하지 않는 일반 오브젝트의 생애주기 관리나 오브젝트간에 의존관계를 해결해주는 아키텍처를 구현하는 컨테이너를 말함. 애플리케이션 아키텍처 애플리케이션 전체의 구조, 매커니즘으로 정의됨. 시스템의 어플리케이션이 공통으로 이요할 수 있는 사용자 인터페이스 구조나 DB접근방식등 시스템의 기반이 되는 부분을 말함. 웹 애플리케이션의 ..

공부/Spring 2016.02.16