spring
38 posts
SpringBatch 간단 정리

스프링 배치의 장점 대용량 데이터 처리에 최적화되어 고성능을 발휘 효과적인 로깅, 통계 처리, 트랜잭션 관리 등 재사용 가능한 필수 기능 지원 수동으로 처리하지 않도록 자동화 스프링 배치 주의사항 스프링 부트 배치는 스프링 배치를 간편하게 사용 할 수 있게 래핑한 프로젝트입니다. 따라서 스프링 부트 배치와 스프링 배치에 모두에서 다음과 같은 주의사항을 염두해야 한다. 데이터를 직접 사용하는 편이 빈번하게 일어나므로 데이터 무결성을 우지하는데 유효성 검사 등의 방어책이 있어야한다. 배치 처리 시스템 I/O 사용을 최소화 필요. 잦은 I/O로 데이터베이스 커넥션과 네트워크 비용이 커지면 성능에 영향을 줄 수 있기 때문. 따라서 가능하면 한번에 데이터를 조회하여 메모리에 저장해두고 처리를 한 다음 그결과를 한번에 데이터베이스에 저장하는것이 좋다. 일반적으로 같은 서비스에 사용되는 웹 API, 배치, 기타 프로젝트들을 서로 영향을 줍니다. 따라서 배치 처리가 진행되는 동안 다른 프로젝트 …

SpringBoot 공식문서 읽기 - 3. Using Spring Boot (2 / 2) - 스프링 빈과 의존성 주입, @SpringBootApplication 어노테이션, 어플리케이션 실행하기, Developer Tools, 어플리케이션 패키징

3. Using Spring Boot (2 / 2) 5. 스프링 빈과 의존성 주입 You are free to use any of the standard Spring Framework techniques to define your beans and their injected dependencies. We often find that using  (to find your beans) and using  (to do constructor injection) works well. If you structure your code as suggested above (locating your application class in a root package), you can add  without any arguments. All of your application components (, , ,  etc.) are automatically registered as Spring Beans. T…

SpringBoot 공식문서 읽기 - 2. Using Spring Boot (1 / 2) - 빌드 시스템, 코드 구성, 설정 클래스, 자동 설정

2. Using Spring Boot (1 / 2) 2.1. Using the “default” Package 1. 빌드 시스템 It is strongly recommended that you choose a build system that supports dependency management and that can consume artifacts published to the “Maven Central” repository. We would recommend that you choose Maven or Gradle. It is possible to get Spring Boot to work with other build systems (Ant, for example), but they are not particularly well supported. 종속성 관리를 지원하고 “Maven Central”저장소에 게시 된 아티팩트를 사용할 수있는 빌드 시스템을 선택하는 것이 좋습니다…

SpringBoot 공식문서 읽기 - 1. Getting Started

1. Getting Started what - introduction to Spring Boot with installation instructions how - building your first Spring Boot application why - discussing some core principles 1. introduction to Spring Boot with installation instructions Spring Boot helps you to create stand-alone, production-grade Spring-based Applications that you can run. We take an opinionated view of the Spring platform and third-party libraries, so that you can get started with minimum fuss. Most Spring Boot applications nee…

SpringBoot devtools 설정

pom.xml application.properties spring.devtools.livereload.enabled=true view단이 바뀌었을 때 자동으로 리로드 설정 spring.devtools.restart.enabled=false 컨트롤러, 모델단이 바뀌었을 때 프로젝트 재시작 설정 (정확히는 classpath에 있는 모든 파일) 개인적으로 요걸 true로 해놓으면 너무 시도때도 없이 프로젝트가 재시작 되어서 false로 설정해 놓았다 이클립스의 경우 project -> build automatically 설정 IntelliJ의 경우 여기참고{:target=“blank”}

SpringBoot 2.1.2 - MyBatis - MySQL - maven 설정

순서 springboot 프로젝트 생성 pom.xml 확인 Dto 작성 DAO(Mapper) Interface 작성 Mapper.xml 작성 application.properties 작성 Controller 작성 thymeleaf를 이용해 view에 출력 springboot 프로젝트 생성 Spring Initializr Maven Project Java 2.1.2 dependencies - web, mysql, mybatis, thymeleaf 선택 pom.xml dependency 확인 mysql connector의 scope 제거 Dto 작성 DAO(Mapper) Interface 작성 Mapper 어노테이션 참고 Mapper.xml 작성 src/main/resources 에 mapper 폴더 만들고 MapMapper.xml 생성 application.properties 작성 mysql mapper.xml 을 위한 properties 작성 Controller 작성 thymele…

Spring - MyBatis - MySQL 연결하기

목차 dependency 설정 root-context.xml 설정 MVC 프로젝트 파일 만들기 들어가기 전에 프로젝트 이름 : mboard 패키지 이름 : com.mboard.bbs 한글설정(web.xml & jsp) dependency 설정 mybatis 3.4.1 mybatis-spring 1.3.0 mysql-connector-java 6.0.6 spring-jdbc 4.3.8RELEASE root-context.xml 설정 네임스페이스 추가 : aop, beans, context, jdbc, mybatis-spring MySQL DataSource 설정, Mapper 인터페이스를 빈객체로 등록 참고 db이름 : mbbsprac ip&port : 127.0.0.1:3306 username : mbbsuser password : 1234 table명 : tbl_board MVC 프로젝트 파일 만들기 controller BoardService BoardServiceImpl …

스프링 게시판 스터디 10 - Service 객체 생성

참고 네이버블로그 - 꿈꾸는 개발자 이 블로그의 첫번째 사진을 보시면 Controller와 DAO 사이에 Service라는 객체가 끼어 있습니다. Controller가 무거워지는 것을 방지하기 위해, 여러개의 매퍼가 있는경우 의미가 명확한 것 끼리 나누기 위해 Service객체를 사용하는 것 같은데 아직 감은 안잡히네요. 일단 설정하는 법만 공유하겠습니다. 10-1 패키지 - 파일 생성 com.javalec.bbs_prac.service 패키지 BoardService 인터페이스 BoardServiceImpl 클래스 (서비스) 10-2 BoardService 인터페이스 설정 10-3 BoardServiceImpl 서비스 클래스 설정 10-4 BController 변경 위에서 @Service(“boardService”) 부분과 연결됩니다 sqlSession대신에 Service객체를 Autowired 해서 사용합니다 10-5 root-context.xml 에서 IDAO 빈객체로 등록 다…

스프링 게시판 스터디 9 - 조회수 기능 추가하기

게시글을 클릭했다가 다시 목록으로 돌아왔을 때 조회수가 하나씩 증가해야 하는데, 깜빡했네요. 기능을 추가해볼게요. 9-1 Controller 수정 9-2 IDao 수성 8-3 IDao.xml (Mapper) 작성 확인해보자.

스프링 게시판 스터디 1 - DB세팅하기

1-1 DB 설정 sql command line 실행 명령문 system 계정 로그인 create user(아이디: bbsprac, 비번:1234) 권한 주기 system 계정 로그아웃 후 새로 생성한 user로 로그인 2-2 DB 만들기 SQL developer 실행 새접속(+ 버튼) 클릭 접속이름 bbsprac 사용자 이름 bbsprac 비번 1234 접속 클릭 워크시트 접속후 다음의 쿼리 실행 설명 bId 게시판 아이디 bUsername 유저 아이디 bTitle 게시판 제목 bContent 게시판 내용 bDate 글쓴 날짜 bCount 조회수 블스 강의에서는 계층형 게시판을 만드는데 저희는 최대한 단순화해서 만들어 볼게요 시퀀스 만들기 bId의 경우에는 게시글이 하나 생성될때마다 자동으로 1씩 늘어나야 됩니다. 이걸 AutoIncrement라고 부르는데, 오라클의 경우는 이 기능을 쓰려면 시퀀스를 만들어야 합니다 보통 테이블이름_seq 로 이름 짓는 것 같아요. 시퀀스 이용해…

스프링 게시판 스터디 5 - Delete 구현하기

항상 /list 타이핑 해주기 귀찮으니까 home.jsp를 살짝 바꿔주자 home.jsp list.jsp에서 Delete 부분 살펴보기 5-1 Controller Delete 작성 5-2 IDao 작성 5-3 IDao.xml (Mapper) 작성 확인해보자.

스프링 게시판 스터디 4 - List 구현하기

패키지 - 파일 만들기 com.javalec.bbs_prac HomeController.java com.javalec.bbs_prac.controller BController.java com.javalec.bbs_prac.dao IDao.java (인터페이스) com.javalec.bbs_prac.dao.mapper IDao.xml com.javalec.bbs_prac.dto BDto.java 4-1 DAO 설정 4-2 Mapper 설정 IDao.xml 4-3 Controller 설정 BController 컨트롤러의 흐름을 전체적으로 이해하는 것이 필요합니다 Controller에서 DB조작 후 리턴 -> model에 담아서 -> 뷰로 보내줌 4-4 View 만들기 list.jsp 4-5 BDto 설정 DB 컬럼 값과 멤버변수의 이름을 갖게 만들어줍니다. 기본 생성자, 초기화 생성자, Setter & Getter, toString 오버라이딩 해줍니다 실행했을 때 데이터베이스에 있는 …

스프링 게시판 스터디 2 - 프로젝트 생성 + 한글처리

2-1 스프링 프로젝트 생성 이클립스 실행 new-spring legacy project 클릭 - Spring MVC Project 선택 Project name: bbs_prac package name: com.javalec.bbs_prac 프로젝트 이름과 패키지 이름은 아무렇게나 적어도 되는데, 강의랑 비슷하게 사용해볼게요. 나중에는 이 이름도 생각해 봐야겠어요. 2-2 한글처리 src - main - webapp - web-inf - web.xml 파일에 한글 처리 설정을 추가해줍니다

스프링 게시판 스터디 3 - 마이바티스 (Mybatis) 설정하기

3-1 pom.xml에 Dependency 추가 pom.xml - Dependencies 탭 클릭 Add 클릭 jdbc 검색 -> spring-jdbc 4.1.4RELEASE[jar] 선택 mybatis 검색 -> org.mybatis mybatis 3.2.8[jar] 선택 다시 mybatis 검색 -> mybatis-spring 1.2.2.[jar] 선택 저장하기 버전별 차이는 잘 몰라요. 안전하게 최신말고 이전 버전으로… 참고) 수업시간에 mvnrepository 들어가서 설정했던 거랑 똑같습니다. 3-2 root-context.xml 설정 어떤 DB를 선택해서 연결할거냐를 설정해줘야 합니다. 유튜브 강의에서는 servlet-context.xml에서 설정하는데, 구글링 해보니까 root-context.xml에 설정하는게 일반적인 것 같아요. 네임스페이스 탭 클릭 -> aop, beans, context, jdbc, mybatis-spring 클릭 Source 탭으로 돌아와서 다…

스프링 게시판 스터디 6 - Write 구현하기

Write_view : 글을 작성할 수 있는 Form 이 있는 공간 Write : Write_view에서 작성한 글이 DB에 저장되는 공간 6-1 Controller 작성 6-2 IDao 작성 6-3 IDao.xml (Mapper) 작성 6-4 write_view.jsp 작성 확인해보자.

스프링 게시판 스터디 7 - View 구현하기

7-1 Controller 작성 7-2 IDao 작성 7-3 IDao.xml (Mapper) 작성 7-4 content_view.jsp 작성 확인해보자.

스프링 게시판 스터디 8 - Update 구현하기

update_view : update form이 있는 곳 update : update form 에서 수정한 내용이 DB에 적용 8-1 Controller 작성 8-2 IDao 작성 8-3 IDao.xml (Mapper) 작성 8-4 update_view.jsp 작성 확인해보자.

스프링 12강 - 컨트롤러 클래스 제작

소스코드 다운받기 12-1 컨트롤러 클래스 제작 클래스 제작 순서 @Controller를 이용한 클래스 생성 @RequestMapping을 이용한 요청 경로 지정 요청 처리 메서드 구현 뷰 이름 리턴 12-2 요청 처리 메서드 제작 뷰페이지 이름 생성방법 prefix + 요청처리 메서드 반환값 + suffix 12-3 뷰에 데이터 전달 뷰에서는 el 문법으로 전달받은 데이터를 사용가능 참고자료 스프링과정12강 블스(김명호 강사)

스프링 14강 - @RequestMapping 파라미터

소스코드 다운받기 14-1 Get 방식과 Post 방식 14-2 @ModelAttribute @ModelAttribute 어노테이션을 이용하면 커맨드 객체의 이름을 개발자가 변경 할 수 있다. (잘 사용 될지는..?) 뷰에서는 으로 사용 뷰에서는 으로 사용 14-3 리다이렉트(redirect:) 키워드 다른페이지로 이동할 때 사용 참고자료 스프링과정14강 블스(김명호 강사)

스프링 15강 - 폼 데이터 값 검증

소스코드 다운받기 폼 데이터 검증은 클라이언트 쪽에서 유효성검사하는 편이 서버에 부담을 주지 않기 때문에 더 바람직한 방법이다. 이 강의는 참고용으로 알아 두자 15-1 Validator를 이용한 검증 Validator 인터페이스를 구현한 클래스 생성 validate() 메서드 사용 15-2 ValidationUtils 클래스 validate()메서드를 편리하게 사용 할 수 있도록 고안된 클래스 15-3 @Valid와 @InitBinder 의존 추가 @Valid 추가 @InitBinder 추가 참고자료 스프링과정15강 블스(김명호 강사)

스프링 13강 - 컨트롤러에서 데이터 받기 (getParameter)

소스코드 다운받기 13-1 HttpServletRequest 클래스 13-2 @RequestParam 어노테이션 (잘 안쓸듯) 13-3 데이터(커맨드) 객체 코드 양이 적어서 많이 사용된다 Member 클래스 생성 (setter 생성) 뷰에서 사용할 때는 와 같이 사용 13-4 @PathVariable PathVariable 어노테이션을 이용하면 경로에 변수를 넣어 요청메서드에서 파라미터로 이용 할 수 있다 게시판에서 Read 부분 만들 때 이 방식을 이용할 것 같다. /bbs/1 -> 1번글 보기 /bbs/10 -> 10번글 보기 참고자료 스프링과정13강 블스(김명호 강사)

스프링 16강 - 스프링 MVC 계층형 게시판 (1/5) with 오라클

소스코드 다운받기 16-1 DB 설정 오라클 설치 sql command line 실행 명령문 system 계정 로그인 create user(아이디: jonny, 비번:1234) 권한 주기 system 계정 로그아웃 후 새로 생성한 user로 로그인 16-2 DB 만들기 SQL developer 실행 새접속(+ 버튼) 클릭 접속이름 jonny 사용자 이름 jonny 비번 1234 접속 클릭 워크시트 접속후 다음의 쿼리 실행 설명 bId - 게시글 id bName - 게시판 이름 bTitle - 게시글 제목 bContent - 게시글 내용 bDate - 게시글 작성일 bHit - 게시글 확인 수 bGroup - n번 글에 관련된 모든 게시글, 답변, 재답변 1번글, 1번글의 답변, 1번글의 답변의 답변 모두 bGroup은 1 bStep - 원 게시글에서 몇번째 떨어진 글인가? 첫번 째 답변은 bStep 1, 두번 째 답변은 bStep 2 bIndent - 몇번째 들여쓰기한 게시글인가?…

스프링 19강 - 스프링 MVC 계층형 게시판 (4/5) with 오라클

소스코드 다운받기 지금은 Spring JDBC, MyBatis를 전혀쓰지 않고 JDBC만 이용해서 진행하고 있다. 중복되는 것이 많고 귀찮다~ 라고 느끼고 있으면 잘하고 있는 것. 19-1 글 수정 페이지 만들기 BController 작성 BModifyCommand 작성 DAO 작성 19-2 글 삭제 페이지 만들기 BController 작성 BDeleteCommand 작성 DAO 참고자료 스프링과정19강 블스(김명호 강사)

스프링 18강 - 스프링 MVC 계층형 게시판 (3/5) with 오라클

소스코드 다운받기 context.xml에 추가하기 18-0 list 페이지 만들기 DAO 설정 생성자 만들기. 데이터 소스를 구함 list 메서드에서 sql 질의 list.jsp 만들기 지금 중요한 내용이 아니니 복붙 18-1 글 작성 페이지 만들기 Bcontroller.class 설정 BWriteCommand.class 설정 BDao.java 설정 write_view.jsp 18-2 글 내용 페이지 만들기 BController 작성 BContentCommand 작성 BDao - contentView 작성 참고자료 스프링과정18강 블스(김명호 강사)

스프링 17강 - 스프링 MVC 계층형 게시판 (2/5) with 오라클

소스코드 다운받기 17-1 패키지, 인터페이스, 클래스 제작 BController 클라이언트 요청(url)에 따라 전체적인 작업을 지휘 BCommand (인터페이스) BContentCommand : 게시글 내용보기 BDeleteCommand : 삭제하기 BListCommand : 게시글 리스트 BModifyCommand : 수정하기 BReplyCommand : 답변하기 BReplyViewCommand : 답변보기 BWriteCommand : 글쓰기 BDao BDto 17-2 Controller 제작 17-3 리스트 페이지 만들기 BController.class -> BListCommand.class -> DAO DTO 참고자료 스프링과정17강 블스(김명호 강사)

스프링 20강 - 스프링 MVC 계층형 게시판 (5/5) with 오라클

소스코드 다운받기 20-1 글 답변 페이지 만들기 reply_view : 답변을 할 수 있는 Form이 있는 공간 reply : 실제 답변이 DB와 연동되어 처리되는 공간 BController 작성 BReplyViewCommand 작성 BReplyCommand 작성 BDao 작성 참고자료 스프링과정20강 블스(김명호 강사)

스프링 21강 - 스프링 JDBC를 이용해 반복코드 줄이기

소스코드 다운받기 21-1 Spring JDBC (JdbcTemplate) 이용한 반복코드 줄이기 드라이버 로드, 커넥션 생성 & DB 연결, SQL 실행, DB 연결 해제 부분은 매번 같은 동작을 반복한다 JDBC Template을 이용해서 이러한 작업들을 간단하게 처리 할 수 있다 21-2 Spring빈을 이용한 코드 간소화 Datasource빈이 들어있는 JdbcTemplate빈을 이용하면 DB관련 클래스들을 생성하고 조립할 수 있다 Dependency 추가(pom.xml) BController에 JdbcTemplate 추가 & Setter 만들기 & Autowired Constant.java 파일 만들기 스프링 설정파일에 Spring빈 추가(servlet-context.xml) dataSource 빈 추가 template 빈 추가 - dataSource를 포함하도록 21-3 JDBC를 이용한 리스트 목록 만들기 엄청 짧아졌다!! BDao의 list메서드 수정하기 드라이버 로…

스프링 10강 - AOP란? (2/2) @Aspect로 AOP 구현

소스코드 다운받기 10-1 @Aspect를 이용한 AOP 구현 의존 설정(pom.xml) @Aspect 어노테이션을 이용한 Aspect클래스 제작 @Pointcut 메서드를 만들어 사용하는 방법 @Pointcut 메서드를 만들지 않고 바로 적용하는 방법 XML파일에 설정 실행 결과 요약 10-2 AspectJ Pointcut 표현식 물론 같은 기능이 XML에도 있다 예제 9-2 ex2 를 참고해서 비교해보자 참고자료 스프링과정10강 블스(김명호 강사) 기억보단 기록을 - AOP 정리(3) 어느 개발자의 한적한 공간 - Spring AOP 흔한 개발자의 개발 노트 - AOP 설정하기

스프링 11강 - MVC 구조 살펴보기

소스코드 다운받기 명강의다 두고두고 계속 봐야겠다 11-1 스프링 MVC 구조 살펴보기 사용자가 `/ 으로시작하는 url을 요청하면 (모든 요청을 뜻한다) DispatcherServlet으로 보내라 사용자의 url에 따라 적절한 컨트롤러로 보낸다 컨트롤러에서 실행후 “home”을 리턴한다 리턴된 “home”은 servlet-context.xml으로 전달된다 servlet-context.xml에서는 com.javalec.spring_ex_pjt 패키지에 있는 파일을 스캔한다 컨트롤러에서 리턴받은 “home” 에 접두사 접미사를 붙여서 /WEB-INF/views/+뷰이름+.jsp 의 형태로 만들어준다 /WEB-INF/views/home.jsp로 연결된다 11-2 resources 폴더 이해하기 이미지를 넣을 때 경로 설정을 어떻게 해줘야 할까? story.png를 src/main/webapp/resources 폴더 안에 넣어준다 사용할 땐 resources/파일이름 resources …

스프링 9강 - AOP란? (1/2) XML로 AOP 구현

소스코드 다운받기 9-1 AOP(Aspenct Oriented Programming)란? 기억보단 기록을 - AOP 정리(3) 를 읽어보자 용어 Aspect: 공통 기능 Advice : Aspect의 기능 자체 Joinpoint : Advice를 적용해야 되는 부분 Pointcut : JoinPoint의 부분으로 실제로 Advice가 적용된 부분 (구멍) Weaving : Advice를 핵심 기능에 적용하는 행위 (꿰매기) 스프링에서는 proxy를 이용해서 AOP를 구현한다 Client(호출부) -> Proxy(대행) -> Target(핵심기능) 9-2 XML기반의 AOP구현 의존 설정(pom.xml) 공통 기능 클래스 제작 - Advice 역할 클래스 (Proxy) XML 설정 파일에 Aspect 설정 실행 결과 어디가 공통부분이고 어디가 핵심기능인지 구분해서 실행 결과를 살펴보자 9-3 Advice의 종류 : 메서드 실행 전에 advice 실행 : 정상적으로 메서드 실행 후…

스프링 8강 - 외부파일을 이용한 스프링 빈 설정

소스코드 다운받기 8-1 Environment 객체 Environment 객체를 이용해서 스프링 빈 설정 예제를 보면 xml파일에 객체를 초기화 하지 않고있는데 Main.java에서는 getAdminId() 등의 메서드를 사용하고 있다. 어디선가 초기화를 따로 해주고 있다는 얘기. AdminConnection 파일에 들어가보자. 지난시간에 배운 InitializingBean, DisposableBean 외에 EnvironmentAware 인터페이스가 구현되어 있다. EnvironmentAware setEnvironment() 메서드를 오버라이딩 해야한다 빈 객체가 초기화 되기도(InitializingBean) 전에 콜백함수로서 호출된다 8-2 프로퍼티 파일을 직접 이용한 설정 Environment 객체를 생성하지 않고 프로퍼티 파일을 직접 이용해서 스프링 빈을 설정할 수 있다 8-3 프로파일 속성을 이용한 설정 참고자료 스프링과정8강 블스(김명호 강사)

스프링 7강 - 스프링 생명주기와 빈 범위

소스코드 다운받기 7-1 스프링 컨테이너 생명 주기 스프링 컨테이너 생성 스프링 컨테이너 설정 스프링 컨테이너 사용 스프링 컨테이너 종료 7-2 스프링 빈 생명 주기 implements InitializingBean, DisposableBean InitializingBean 구현 afterPropertiesSet()을 오버라이딩한다 빈 초기화 과정에서 호출된다 ctx.refresh(); 할 때 호출 DisposableBean 구현 destroy()를 오버라이딩한다 빈 소멸과정에서 생성된다 ctx.close(); 할 때 생성 @PostConstruct, @PreDestroy @PostConstruct InitializingBean을 구현한 것과 같은 기능 빈 초기화 과정에서 호출 하고 싶은 메서드 위에 @PostConstruct annotation 추가 ctx.refresh(); 할 때 호출 @PreDestroy DisposableBean을 구현한 것과 같은 기능 빈 소멸 과정에서 …

스프링 1강 - 시작하기

1-1 프레임워크 1-2 스프링 프레임워크 1-3 설치 JDK JAVA 환경 변수 세팅 이클립스 EE 다운로드 마켓플레이스에서 STS 3.x 다운로드 웹컨테이너 톰캣 설치 참고자료 스프링과정1강 블스(김명호 강사)

스프링 2강 - DI(의존성 주입)와 IOC 컨테이너

2-1 STS 플러그인 설치 (3.x.x) STS 4 이상은 Spring legacy project가 없다. (스프링 부트만 존재) 2-2 스프링 프로젝트 만들기 new - Project - Spring legacy project - simple spring maven 선택 src/main/java 폴더에는 java class 파일들 src/main/resource 폴더에는 xml등 여러 자료들 소스코드는 자바와 동일 2-3 DI(Dependency Injection)와 IOC 컨테이너 요게 스프링의 핵심 DI 객체를 자바 내에서 생성하는 것이 아니라 외부에서(xml혹은 @Annotation)생성해서 주입 클래스 파일을 최대한 수정하지 않고 객체를 관리하기 쉽게 하기 위함 지금은 감이 안올 수 있지만 큰 규모의 프로젝트를 할 때 유리 (모를 때 Interface를 왜쓰지? 하는것 처럼) IOC 컨테이너 인터페이스를 통해 객체들을 여러개의 부품으로 만든다 IOC는 부품(객체)들을 담…

스프링 3강 - DI를 이용한 객체 생성과 조립

소스코드 다운받기 3-1 스프링을 이용한 객체 생성과 조립 DI 비교 DI를 활용하지 않은 코드 내가 필요한 객체를 내가 생성 DI를 활용한 코드 외부에서 객체를 생성하고 주입 참고자료 스프링과정3강 블스(김명호 강사)

스프링 4강 - DI 프로퍼티 설정과 컨테이너의 이해

소스코드 다운받기 4-1 스프링 프로퍼티 설정 전 시간에 자세한 주석을 바탕으로 이 코드를 이해해 보자 4-2 스프링 컨테이너 이해 참고자료 스프링과정4강 블스(김명호 강사)

스프링 6강 - DI 설정방법 두가지 (XML vs @Annotation)

소스코드 다운받기 6-1 XML파일을 이용한 DI 설정 방법 여태까지와 똑같다 예제 6-1 파일로 복습 6-2 JAVA 파일을 (@Annotation) 이용한 DI 설정 방법 예제 6-2는 xml파일이 없다 -> ApplicationConfig.java 가 대신 의존성을 주입하고 있다 @Configuration 이 클래스는 스프링 설정에 사용되는 클래스 입니다 라고 명시해 주는 어노테이션 @Bean Bean - 객체생성 생성자() 혹은 setter()를 이용해 설정 Main.java에서 student1과 student2는 같을까 다를까? 6-3과 6-4는 xml과 annotation을 같이 쓰는 예제이다. 가끔 쓰인다고 하니 한바퀴 돌고 나서 다시보자 참고자료 스프링과정6강블스(김명호 강사)

스프링 5강 - DI 의존 관계와 DI의 장점

소스코드 다운받기 5-1 의존 관계 (코드참고) StudentInfo 객체는 Student객체에 의존 하고 있다. 의존성을 주입하는 방법 두가지 XML파일 이용 JAVA annotation 이용 StudentInfo에서 의존받은 객체를 받는 방법 생성자(파라미터) 이용 생성자를 이용할 때는 xml파일에 를 이용한다 setter() 이용 (지금까지는 setter를 이용해왔다) 이용 5-2 DI의 장점 예제 5-2를 보면 pencil interface를 구현한 여러가지 굵기의 연필이 있다 (4B, 6B, 6B with eraser) xml파일에서 어느 클래스에서 받을지 정하면 Main.java 파일을 건드릴 필요없이 부품을 쉽게 바꿀 수 있다 참고자료 스프링과정5강블스(김명호 강사)