본문 바로가기

spring7

스프링 Bean의 scope 빈 스코프말 그대로스프링 컨테이너가 관리해 주는 객체인 스프링 빈이 존재할 수 있는 범위를 뜻하며대표적인 종류로는 싱글톤, 프로토타입, request, session, appliction 등이 있다. 빈 스코프는 왜 필요할까?객체의 생명주기를 상황에 맞게 관리하고 최적화하기 위해필요.스프링 애플리케이션은 다양한 요구사항을 처리하기 때문에,모든 객체를 무조건 하나만 생성하거나 매번 새로 생성하면 비효율적이거나 기능적으로 문제가 발생할 수 있음. 대부분의 서비스나 DAO는 상태 없이 사용되므로 하나만 생성해서 공유하는 것이 가장 효율적이다.매번 새로 만들면 메모리 낭비 + 성능 저하 발생가능.→ 메모리 효율을 위해 싱글톤 스코프 적합. 어떤 계산 로직에서 매번 다른 값 저장이 필요한 경우처럼내부에서 요청마다.. 2025. 4. 30.
스프링 스프링 (Spring)이라 불리는 스프링 프레임워크는 자바기반 어플리케이션을 쉽고 효율적으로 만들 수 있도록 도와주는 개발 프레임워크이다. 스프링 프레임워크 없이 순수 자바로 어플리케이션 개발을 할 때,객체를 생성하고, 연결하고, 트랜잭션을 관리하고, 요청을 받아 처리하는 과정을 개발자가 손수 진행해야 했다. 이 과정이 복잡하고, 실수하기 쉽고, 개발속도도 느리다 보니 효율적인 개발방법을 고민한 결과위 공통 작업을 프레임워크로 묶어서 처리하고, 개발자는 순수 비즈니스 로직에 집중하도록 스프링 프레임워크가 등장했다.→구분스프링 사용 O스프링 사용 X 객체 관리스프링이 객체(Bean)를 생성하고 관리 (IoC, DI)개발자가 직접 객체 생성하고 연결해야 함기능 제공트랜잭션, 보안, 웹 요청 처리 등 다양한 .. 2025. 4. 22.
스프링 4일차 정리 오늘은 Transaction과 JSP로 동적 페이지 접근하는 방법을 배웠다.mybatis를 이용해서 sql쿼리와 java코드를 분리하여 매핑시켜 주었다.Transaction  Transaction : (거래, 처리라는 뜻을 잘 생각하면서 이해해 보자)DB에 데이터를 저장하거나 삭제, 갱신할 때 일어나는 변경의 단위. Transaction 설정(DB Table의 엔진이 InnoDB에서 지원한다.(sql 명령이 바로 commit 되지 않는, Oracle에서 명령 실행 후 commit/rollback 해줄 수 있던 것처럼) )  Transaction을 이용하면, 종속적인 코드를 사용하지 않고, 일괄적으로 트랜잭션을 처리할 수 있다.트랜잭션의 4 속성 :Atomicity (원자성) - 하나의 트랜잭션의 결과는 .. 2024. 7. 14.
스프링 3일차 정리 오늘은 데이터베이스 연결 객체와AOP설정 aop:befor aop:after aop:around를 이용한 기능코드 호출(실행),JDBC(JDBCTemplate를 사용하는 두 가지 방법(JdbcDaoSupport클래스를 상속받아 사용, JdbcTemplate를 필드변수로 선언해 사용))을 공부했다. DB연결 객체 @Repositorypublic class NoticeBoardDao { private Connection conn = null; private PreparedStatement stmt = null; private ResultSet rs = null;... Connection : DB 연결을 담당하는 객체`conn = JDBCUtil.*getConnection*();` Statem.. 2024. 7. 11.
스프링 2일차 정리 DTO : Data Transfer Object ; 데이터를 전달하기 위한 객체. 로직을 갖지 않는 순수한 데이터 객체(getter, setter 만 가짐) /MVC 모델 중 Model, View, Controller 중 어느 곳 에도 속하지 않는다. DAO : Data Access Object ; 데이터 베이스에 접근하는 역할을 하는 객체.데이터의 CRUD(Create Read Update Delete) (DB에서 Insert Select Update Delete와 매칭됨) 담당한다. VO : Value Object ; 값 그자체를 표현하는 객체 Entity ; 실제 DB테이블과 매핑되는 클래스. (데이터를 전달하는 클래스가 아님)  if (rs.next()) { // 넥스트가 있으면 넥스트 가져오기 .. 2024. 7. 10.
스프링 1일차 정리 인텔리제이 우측메뉴 - maven clean/install 활용해서 꼬인 dependency 풀어줄 수 있다.설정정보 :pom.xmlwebapp패키지 → web.xmlwebapp패키지 → WEB-INF 패키지 → spring 패키지 → root-context.xmlwebapp패키지 → WEB-INF 패키지 → spring 패키지 → appServlet 패키지 → servlet-context.xml apache - 클라이언트 요청을 받아주는 서버 (WEB서버)tomcat - 실제 웹 애플리케이션 실행하는 서버 (WAS)apache-tomcat 폴더의 conf 폴더 확인 ㄴspring (개발 뼈대를 제공해줌으로써)빠른 구현시간유지보수 용이성개발능력 획일화+인건비 감소pom.xml을 통한 수월한 라이브러리 관.. 2024. 7. 9.
반응형