목록[Web] (89)
요르딩딩

context-common.xml => component-scan 빈으로 등록 될 준비를 마친 클래스들을 스캔하여, 빈으로 등록해주는 것. (@Controller, @Service, @Component, @Repository 어노테이션을 붙인 클래스들이 빈으로 등록 될 준비를 한 것이다.) => base-package는 패키지를 어디부터 스캔할지 지정해주는 부분. (base package 기준으로 클래스들을 스캔하여 빈으로 등록) => stereotype은 간략히 말해, 고정된 또는 일반적인 패턴을 의미. => exclude-filter는 @Controller 를 제외하고 싶을때 사용 use-default="false"는 기본 어노테이션 @Controller, @Component @Service등을 스캔..

1. @Controller vs @RestController @Controller는주로 View를 반환하고, @RestController는 주로 Data를 반환합니다. ⇒ 즉, 역할을 구분따져보면 @Contoller(view) + @Responsebody(data) = @RestContoller(view+data)라고 생각하면 됩니다. @Controller와 @RestController의 차이는 용도에 따른 차이입니다. 예전에는 백엔드에서도 @Controller를 사용하여 jsp나 html과 같은 View를 전달해 주었기 때문에 사용해 왔지만, 최근에는 프론트엔드, 백엔드를 따로두고, @RestController를 백엔드에서 json으로 Data만 편리하게 전달하기위해 사용합니다. ⇒ 즉, Rest AP..
jar, war란 (ver.1) https://hyeounstory.tistory.com/74?category=849984 ver.1에 이어서 jar, war에 대한 설명을 다시 정리해 보려합니다. Jar, War, Ear란 모두 자바의 jar툴을 이용하여 생성된 압축(아카이브) 파일이며, 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 역할을 합니다. 파일 규모 :ear > war > jar > class JAR 자바 클래스 파일과 관련 소스파일 및 메타데이터을 압축한 파일입니다. 하나의 Application 기능이 가능하도록 java파일을 압축하고 지원합니다. java 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일로 생각할 수 있습니다...
Bean 1. 빈 또는 빈 오브젝트는 스프링 Ioc방식으로 관리하는 오브젝트라는 뜻입니다. 2. 스프링에서 사용하는 모든 오브젝트가 다 Bean은 아닙니다. 3. 스프링이 직접 생산과 제어를 담당하는 오브젝트만을 Bean이라 부릅니다. Bean Factory 1. 스프링의 Ioc를 담당하는 핵심 컨테이너입니다. 2. 보통은 이를 바로 사용하지 않고, ApplicationContext를 이용합니다. 3. Bean의 생성과 제어 관점에서 얘기할때 부릅니다. Application Context [설명] 1. 이는 Ioc컨테이너, 스프링컨테이너, 빈 팩토리라고 부르기도 합니다. 2. 이는 BeanFactory인터페이스를 상속했으므로 BeanFactory의 확장 Ioc컨테이너라고 보시면 됩니다. (Applicat..
MVC 패턴 (Model , View, Controller) - 디자인패턴 : 과거 소프트웨어 개발과정에서 발견된 설계의 노하우를 축적하여 이름붙여 이후에 재사용하기 좋은 형태로 특정규약을 만들어서 정리한것 (효율적인 코드를 위한 방법론) - 동작 순서 : user > controller > model > contoller > veiw > uesr Model : 어플리케이션의 데이터, 자료 및 이러한 데이터 가공을 책임지는 컴포넌트를 말합니다. 1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 합니다. 2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 합니다. 3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야한 합니다. (모델은 재사용이 가능해야하며, 다른 인터페이스에서도 변하지 ..

이번시간에는 웹개발을 하며 Spring에서 주로 사용하는 DB Connection Pool에 대해서 알아보겠습니다. Java에서는 DataSource인터페이스를 통해 Connection Pool을 사용합니다. Connection Pool이란 WAS(web application server)가 실행될때 DB연결을 위해 Pool안에 미리 일정 갯수의 connection객체를 만들어두고, 사용자가 DB연결 요청을하면 Pool에서 생성한 connection 객체를 넘겨주고, 사용이 끝나면 반환받아 보관하는 기법입니다. 아래그림은 Connection pool의 동작과정입니다. Connection Pool 사용의 장점 1. 서버의 부하를 줄여줍니다. Java에서 DB Connection할때 부하가 많이 걸리는 작업..

이번시간에는 properties암호화에 대해서 공부해 보겠습니다. Spring에서 개발시 DB접속정보와 같은 값을 properties에서 관리할때 암호화를 해야 정보유출을 막을 수 있습니다. 이때 spring내에서 암호화를 진행하는것보다는 터미널에서 Jasypt 라이브러리를 사용하면 보다 편리하게 암복호화할 수 있습니다. [실행방법] Jasypt 라이브러리를 다운받습니다. 접속 : http://www.jasypt.org/download.htm DOWNLOAD JASYPT (from GitHub) 클릭 하단의 Download distributable: jasypt 1.9.3 (binaries and javadocs) 터미널 접속 > jasypt -1.9.3 > bin 경로로 이동 아래의 암/복호화 명령어 ..

이번시간에는 JDBC와 JPA의 차이에 대해서 공부해 보겠습니다. 1. JDBC Java DataBase Connectivity의 약자이고, Java에서 DB 연결을 위해 제공하는 API 입니다.DB와의 연결설정을 위해 일괄된 형태를 제공합니다. DB 제작업체에서 제공하는 드라이버만 있다면 DB의 종류와는 상관없이 JDBC를 이용하여 프로젝트와 DB를 연결 가능한것이 장점입니다. DB연결뿐 아니라, SQL수행 및 트랜잭션 관리까지 DB운용에 필요한 다양한 기능을 제공합니다. 그러나 JDBC를 사용해본다면 알 수 있는 두가지 단점이 있습니다. (1) JDBC를 사용하기 위해서는 꽤 복잡한 프로그래밍을 필요로 한다는 것과 (2) 작성되는 코드가 중복된다는 것입니다. (1)번 단점인 JDBC의 복잡성은 JDB..