본문 바로가기

Blog/Spring

(28)
스프링 프레임워크 입문 - Bean Bean 스프링 IoC 컨테이너가 관리하는 객체 OwnerController ownerController = new OwnerController(); => 이건 빈이 아니다. 일반적인 객체이다. OwnerController bean = applicationContext.getBean(OwnerController.class); => 이건 빈이다. 왜? 아래는 어플리케이션 컨텍스트(Ioc 컨테이너의 일종)이 관리하는 객체를 꺼내온 거니까. 위에는 직접 만들어준거고 빈들만 의존성 주입이 되는 것, 자동적으로 어떻게 특정한 인스턴스를 가지고 빈으로 만들어주느냐? 1. Component Scanning @Controller 는 사실상 컴포넌트라는 메타 애노테이션을 사용하는 애노테이션이다. 그래서 이것도 사실상 컴..
스프링 프레임워크 입문 - Inversion of Control Inversion of Control 제어권이 역전된 것 일반적인 (의존성에 대한) 제어권 : "내가 사용할 의존성은 내가 만든다." class OwnerController{ private OwnerRepository repository = new OwnerRepository(); } -> 일반적인 경우에는 자기가 사용할 의존성을 자기가 만들어서 사용한다. 그런데 이 의존성에 대한 제어권이 역전되었다고 생각해보면 의존성에 대한 제어권은 원래는 자기 자신이 가지고 있었는데 (자기가 사용할 의존성을 자기가 만들어서 자기가 관리하는 것) 그런데 오너 컨트롤러가 직접 관리하는게 아니라 IoC : "내가 사용할 의존성을 누군가 알아서 주겠지" > 내가 사용할 의존성의 타입(또는 인터페이스)만 맞으면 어떤 거든 상..
스프링 프레임워크 입문 - 프로젝트 살펴보기 기본 지식 자바 언어 인텔리j or 이클립스 -> 인텔리j 설치 gradle or maven -> 공부 git 애플리케이션 띄우기 전에 항상 메이븐 패키징를 해줘야 한다. 메이븐 패키징을 하는 과정 중에 프론트 관련된 라이브러리를 생성해내는 플러그인이 있는데, 이 플러그인이 동작해야만 로컬 호스트에서 화면이 깨지지 않은 상태로 볼 수 있다. -> ./mvnw package가 나는 제대로 안 됐음 이는 메이븐 랩퍼가 잘 동작하지 않아 생긴 문제 => 메이븐이라는 빌드툴 로컬에 설치해서 실행하거나 intellij의 Maven뷰를 열어 package 실행 -> 나는 메이븐 뷰로 실행함 이제 실제로 실행하는데 톰캣에 애플리케이션 띄우기 java -jar target/*.jar -> 또 안됨 제대로 파일에 접근할..
스프링 게시판 만들기 - 라이브러리 pom.xml에서 dependencies에 spring-jdbc, junit, spring-test, log4jdbc, mybatis, mybatis-spring 추가 pom.xml에 대해 Maven(메이븐) Spring을 공부하면서 pom.xml을 알아보다가 Maven에 대한 글을 봤다. 1. Maven 이란? Maven은 자바 프로젝트의 빌드(build)를 자동화 해주는 빌드 툴(build tool) 쉽게 말해서, 자바 소스를 compile하고 package해.. chaniii.tistory.com spring-jdbc Spring JDBC DAO(Data Access Object) 실제로 DB에 접근하는 객체 데이터 액세스 계층은 DAO 패턴을 적용하여 비즈니스 로직과 데이터 액세스 로직을 분리하는..
Spring JDBC DAO(Data Access Object) 실제로 DB에 접근하는 객체 데이터 액세스 계층은 DAO 패턴을 적용하여 비즈니스 로직과 데이터 액세스 로직을 분리하는 것이 원칙이다. Service와 DB를 연결하는 고리의 역할을 한다. DAO는 개발자가 직정 코딩해야 되는 부분이다. SQL을 사용하여 DB에 접근한 후 적절한 CRUE API를 제공한다. CRUE API 서비스 계층에 영향을 주지 않고 데이터 액세스 기술을 변경할 수 있다. DataSource 커넥션 풀링을 지원한다. (커넥션 풀링 : 미리 정해진 갯수만큼의 DB 커넥션을 풀에 준비해두고, 어플리케이션이 요청할 때마다 Pool에서 꺼내서 하나씩 할당해주고 다시 돌려받아서 Pool에 넣는 식의 기법) 다중 사용자를 갖는 엔터프라이즈 시스템에서는..
스프링 게시판 만들기 - 에러 1. list.jsp 에서 글을 검색하는 기능을 추가했는데 게시판 검색 기능 구현 11.스프링 게시판 만들기 / 게시판 검색 기능 구현 11.스프링 게시판 만들기 / 게시판 검색 기능 구현 안녕하세요? MelonPeach입니다. 이전 포스팅에서 페이징 기능을 구현하였는데요. 이번에는 게시판에서 검색 기능을 추가하려고합니다. 1. boardMapper 작성 먼.. melonpeach.tistory.com 검색할 글을 쓰고 엔터를 누르면 기능이 동작하지만, 검색 버튼을 누르면 동작하지 않았음 list.jsp에서 검색 버튼은 자동으로 summit 해주는 버튼임 하지만, $를 인식하지 못하는 이유 때문에 jquery를 불러오는 소스 추가 -> 작동 더보기 아래 소스를 2. 댓글 기능을 생성하기 위해 테이블을 생..
스프링 게시판 만들기 - Mybatis, Oracle 연동 에러 보기 4.스프링 게시판 만들기 / Mybatis + 오라클 연동 4.스프링 게시판 만들기 / Mybatis + 오라클 연동 안녕하세요? 이전 포스팅에선 한글 설정에 대해 포스팅 하였는데요.. 오늘은 Mybatis와 오라클 연동에 대해 포스팅 하겠습니다. 우선 연동을 하기위해 필요한 작.. melonpeach.tistory.com 주의 1. root-context.xml 여기에 propertiy 보면 db url 넣어야 하는 부분에서 value="jdbc:log4jdbc:oracle:thin:@localhost:1521/orcl"/> 로 작성되어있음 나는 전에 hostname을 chan으로 했기 때문에 orcl -> chan으로 바꿔줘야함 username, password의 value에 각 오라클 아이디와..
스프링 게시판 만들기 - 한글 인코딩 1. eclipse 설정 Window -> Preferences -> General -> Workspace -> 맨 아래 Text file encoding에서 Other(UTF-8) -> Apply and Close 2. 프로젝트 Properties 설정 프로젝트 우 클릭 -> Properties -> Resource -> 창에 잘 보면 Text file encoding 있음, 거기서 Inherited from container (UTF-8) -> Apply and Close 3. 프로젝트 web.xml 설정 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodi..