미분류

230321

Berylly 2023. 3. 21. 18:44

T.김동식

 

pro30

각 단계에서

기록하고 싶었던것들

 

30.1  기존 소스 코드 변경하기

인터셉터 설정

인터셉터는 한번 작성해 놓으면 변경하지 않고 다른 프로젝트에서도 사용할 수 있음.

 

30.2  마이바티스 관련 XML 설정하기

typeAliases

typeAlias type경로 alias별명

DB 조회 결과를 내가 커스텀한 객체(DAO)로 가져오고 싶은 경우 

간편하게 가져올 수 있도록 패키지에 대한 별명을 지정함.

<configuration>
	<typeAliases>
		<typeAlias type="com.myspring.pro30.member.vo.MemberVO"  alias="memberVO" />
		<typeAlias type="com.myspring.pro30.board.vo.ArticleVO"  alias="articleVO" />
		<typeAlias type="com.myspring.pro30.board.vo.ImageVO"  alias="imageVO" />
	</typeAliases>
</configuration>

resultMap type 

위에서 지정된 별명들은 mapper폴더안의 파일들에서 사용됨.

resultMap

 -  id sql문을 담은 select이 resultMap 가져올 형식별명

 -   type typeAliases별명
result 

 -  property속성 

 -  column데이터  column이름

 

 

 

30.3  타일즈 설정하기

tiles

tiles-definitions
definition name이름과 template경로 extends상속할 definition name
put-attribute name이름과 value경로

<tiles-definitions>
   <definition name="baseLayout"  template="/WEB-INF/views/common/layout.jsp">
      <put-attribute name="title" value="" />
      <put-attribute name="header" value="/WEB-INF/views/common/header.jsp" />
      <put-attribute name="side" value="/WEB-INF/views/common/side.jsp" />
      <put-attribute name="body" value="" />
      <put-attribute name="footer" value="/WEB-INF/views/common/footer.jsp" />
   </definition>

   <definition name="main" extends="baseLayout">
      <put-attribute name="title" value="메인페이지" />
      <put-attribute name="body" value="/WEB-INF/views/main.jsp" />
   </definition>
</<tiles-definitions>

 

30.4 게시판 목록 표시하기

board/listArticles.do로 요청시 

인터셉터에서 전달된 뷰네임을 가져와 
articlesList글 정보 조회한것을 가져와

바인딩 후 ModelAndView로 jsp에 전달함.

@Override
	@RequestMapping(value= "/board/listArticles.do", method = {RequestMethod.GET, RequestMethod.POST})
	public ModelAndView listArticles(HttpServletRequest request, HttpServletResponse response) throws Exception {
		String viewName = (String)request.getAttribute("viewName");
		List articlesList = boardService.listArticles();
		ModelAndView mav = new ModelAndView(viewName);
		mav.addObject("articlesList", articlesList);
		return mav;
		
	}

List articlesList = boardService.listArticles();

boardService에서는  boardDAO.selectAllArticlesList()를 실행하는데, 

애너테이션으로 @Service("boardService")임을 알리고

컨트롤러에서 

@Autowired
private BoardService boardService;

애너테이션으로 연결함.

 

Spring MVC에서 @Autowired와 같은 애너테이션 기능을 사용하는 방법
@Autowired 애너테이션을 사용하는 빈을 자동으로 등록

pom.xml설정

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.13.RELEASE</version>
</dependency>



servlet-context.xml
@Autowired 애너테이션을 사용하는 빈(Bean)을 자동으로 검색할 수 있다.
base-package 속성은 스프링이 자동으로 검색해야 하는 패키지를 지정

<beans>
<context:component-scan base-package="com.myspring.pro30" />
...
</beans>

 

 

위의 내용은 mvc프로젝트 만들었을때 자동으로 추가된다.

 

 

 

 

 

 

빅데이터

 

파일럿 환경관리

3대의 리눅스 가상 머신에서 다수의 빅데이터 소프트웨어를 구성하기 때문에 무겁고 복잡하다.

파일럿 프로젝트와 관련된 작업을 시작/종료할때 다음과 같은 절차를 밟아야 안정적인 환경을 유지한다.

1. 가상머신 1, 2, 3 실행

2. putty로 접속후 service cloudera-scm-server status;

3. 크롬 브라우저에서  http://server01.hadoop.com:7180

 

서버 import

네트워크설정 및 실행

도구 - 햄버거버튼 - 네트워크 - 속성 - 주소입력 및 실행

 

 

host 파일 메모장 관리자권한으로 실행 후 추가

C:\Windows\System32\drivers\etc

 

 

putty로 실행

아래 빨간색으로 표시된 영역에 ip주소 - 별명 - save누르면 저장할 수 있다.

 

 

cm 구동완료됐는지 확인

service cloudera-scm-server status;

 

크롬브라우저로 접속

 http://server01.hadoop.com:7180

 

로그인