<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>시작해볼까?</title>
    <link>https://jayviii.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 13 Aug 2026 21:14:09 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>jayviii</managingEditor>
    <item>
      <title>다시 보는 스프링(Spring), 의존성 주입(DI)</title>
      <link>https://jayviii.tistory.com/55</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;스프링의 핵심 요소 중 가장 많이 꼽히는 요소로 의존성 주입, DI(Dependency Injection)이 있다.&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&quot;Engine&quot; 속성을 가진 &quot;Car&quot;라는 클래스를 개발하고 있다고 가정해보고 간단히 이런 코드를 만들었다.&lt;/p&gt;
&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;Java&quot; data-ke-language=&quot;Java&quot;&gt;&lt;code&gt;public class Car {
&amp;nbsp;&amp;nbsp; private Engine engine;

&amp;nbsp;&amp;nbsp; public Engine getEngine() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return engine;
&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp; public void setEngine(Engine engine) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.engine = engine;
&amp;nbsp;&amp;nbsp; }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;여기서 &quot;Engine&quot;은 &quot;Car&quot; 클래스에 종속된다. 스프링이 없는 자바에서는 &quot;Car&quot; 클래스 내에 &quot;Engine&quot; 클래스의 인스턴스를 만들어서 사용한다.&lt;/p&gt;
&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;Java&quot; data-ke-language=&quot;Java&quot;&gt;&lt;code&gt;public class Car {
&amp;nbsp;&amp;nbsp; private Engine engine = new Engine();

&amp;nbsp;&amp;nbsp; public Engine getEngine() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return engine;
&amp;nbsp;&amp;nbsp; }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;그러나 이런 방법은 몇 가지 문제가 생길 수 있다. &lt;br&gt;첫째, &quot;Engine&quot; 타입을 변경하거나 다른 구현체로 교체하는 것이 어렵다. &lt;br&gt;둘째, &quot;Car&quot; 클래스는 항상 &quot;Engine&quot; 인스턴스가 필요해서 &quot;Car&quot; 클래스 만을 단위테스트하기가 어렵다.&lt;br&gt;&lt;br&gt;이에 비해 Dependency Injection은 &quot;Engine&quot; 인스턴스는 외부에서 생성하고 관리하며 필요할 때 &quot;Car&quot; 클래스로 전달되는 방식이다.&lt;/p&gt;
&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;Java&quot; data-ke-language=&quot;Java&quot;&gt;&lt;code&gt;public class Car {
&amp;nbsp;&amp;nbsp; private Engine engine;

&amp;nbsp;&amp;nbsp; public Engine getEngine() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return engine;
&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp; @Autowired
&amp;nbsp;&amp;nbsp; public void setEngine(Engine engine) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.engine = engine;
&amp;nbsp;&amp;nbsp; }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;위의 예에서 Engine 클래스의 인스턴스를 찾아서 Car 클래스에 주입하는 기능을 사용할거라고 Spring에게 알려주기 위해 @Autowired 애노테이션을 메소드 위에 적어준다. &lt;br&gt;이렇게 하면 Spring은 Engine 인스턴스를 생성하고 관리하며, 필요할 때마다 Car 클래스에 전달해준다.&lt;br&gt;&lt;br&gt;이렇게 하면 Engine 클래스의 다양한 구현체를 만들고 필요에 따라 쉽게 전환할 수 있다. &lt;br&gt;또한 Car 클래스는 내부에서 Engine 클래스 인스턴스를 생성하지 않기 때문에, 작동하는 Engine 인스턴스 없이도 격리하여 단위테스트를 할 수 있다.&lt;br&gt;&lt;br&gt;여기까지가 Spring에서 사용하는 의존성 주입의 아주 기본적인 컨셉이다.&lt;br&gt;&lt;br&gt;물론 위의 예시는 이해를 위한 아주 단순한 예시일 뿐, 실제 구현에서는 아래처럼 생성자 주입 방식을 사용하는 것을 추천한다.&lt;/p&gt;
&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;Java&quot; data-ke-language=&quot;Java&quot;&gt;&lt;code&gt;public class Car {
&amp;nbsp;&amp;nbsp; private Engine engine;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; // 생성자 주입은 @Autowired를 붙이지 않아도 Spring이 알아챌 수 있다.
&amp;nbsp;&amp;nbsp; public Car(Engine engine) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.engine = engine;
&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp; public Engine getEngine() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return engine;
&amp;nbsp;&amp;nbsp; }
}
&lt;/code&gt;&lt;/pre&gt;</description>
      <category>dev/java</category>
      <category>DI</category>
      <category>Java</category>
      <category>spring</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/55</guid>
      <comments>https://jayviii.tistory.com/55#entry55comment</comments>
      <pubDate>Sun, 5 Feb 2023 17:58:25 +0900</pubDate>
    </item>
    <item>
      <title>DTO, VO, MODEL 의 차이점과 사용 사례</title>
      <link>https://jayviii.tistory.com/54</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;업무를 하다보면 DTO와 VO와 MODEL의 경계선이 모호하다고 느낄때가 있다.&lt;br&gt;그래서 자문자답 식으로 풀어서 써봤다.&lt;br&gt;&lt;br&gt;질문 1&lt;br&gt;자바 스프링에서 dto, vo, model의 차이점은 무엇인가요?&lt;br&gt;&lt;br&gt;답변 1&lt;br&gt;Java Spring의 맥락에서 DTO(데이터 전송 개체), VO(값 개체) 및 모델이라는 용어는 응용 프로그램의 데이터를 나타내는 데 사용되는 다양한 개체를 나타내는 데 종종 사용됩니다. 이 용어들 사이에는 약간의 중복이 있지만, 각각 다른 의미를 가지고 있습니다: - 데이터 전송 개체(DTO): DTO는 응용 프로그램의 계층 간에 데이터를 전송하는 데 사용되는 개체입니다. 일반적으로 지속성 계층에서 프레젠테이션 계층으로 또는 프레젠테이션 계층에서 서비스 계층으로 데이터를 전송 하는 데 사용됩니다. DTO는 특정 목적에 필요한 데이터만 포함하는 단순하고 가벼운 개체입니다. 여기에는 비즈니스 논리나 행동이 포함되어 있지 않습니다.&lt;br&gt;- VO(Value Object): VALUE Object는 DTO와 유사하지만 일반적으로 서비스 계층의 다른 부분 간에 데이터를 전송하는 데 사용됩니다. VO는 고객 또는 주문과 같은 특정 도메인 개념과 관련된 데이터를 포함하는 개체입니다. 간단한 검증 논리 또는 동작을 포함할 수 있지만 일반적으로 데이터를 유지하는 데 사용되지 않습니다.&lt;br&gt;- Model: Model은 특정 컨텍스트에서 사용되는 데이터의 표현입니다. 여기에는 여러 가치 개체 또는 DTO의 데이터가 포함될 수 있으며 특정 사용 사례와 관련된 비즈니스 논리 및 동작이 포함될 수 있습니다. Java Spring의 맥락에서 &quot;Model&quot;이라는 용어는 렌더링을 위해 서비스 계층에서 프레젠테이션 계층으로 전달되는 데이터를 가리키는 데 자주 사용됩니다.&lt;br&gt; 요약하면 DTO, VO 및 Model은 응용 프로그램의 데이터를 나타내는 데 사용되는 서로 다른 개체입니다. DTO는 계층 간에 데이터를 전송하는 데 사용되고, VO는 서비스 계층의 부분 간에 데이터를 전송하는 데 사용되며, Model은 특정 컨텍스트에서 데이터를 나타내는 데 사용됩니다. 요약하자면,&lt;br&gt;- DTO에는 비즈니스 로직이 있으면 안된다. Layer 를 이동할때 사용하면 좋다.&lt;br&gt;- Vo는 DTO 와 Model의 중간 정도 역할이지만, 가벼운 로직 정도가 좋다. Layer 내부에서 데이터를 이동할때 쓰면 좋다.&lt;br&gt;- Model은 비즈니스 로직을 포함하기 좋으며, 프레젠테이션 계층에서 사용하기 좋다.&lt;br&gt;&lt;br&gt;그럼 Layer를 이동한 다음엔 dto를 vo 또는 model로 변환해서 사용해야하는데, 이것 또한 어떻게 하는게 적절한 방법일지 고민이 될때가 많다. 질문 2&lt;br&gt;DTO를 VO 또는 Model로 변환하는 방법에는 어떤 것들이 있나요?&lt;br&gt;&lt;br&gt;답변 2&lt;br&gt;DTO(데이터 전송 개체)를 VO(값 개체) 또는 Model로 변환하려면 다음 기술을 사용할 수 있습니다:&lt;br&gt;&lt;br&gt;- 수동 매핑: DTO의 속성을 VO 또는 Model에 수동으로 매핑할 수 있습니다.&lt;br&gt;- 개체 매핑 라이브러리: MapStruct, Orika 또는 Dozer와 같은 개체 매핑 라이브러리를 사용하여 매핑 프로세스를 자동화할 수 있습니다. 이러한 라이브러리는 주석 또는 구성 파일을 사용하여 개체 간의 매핑을 지정합니다.&lt;br&gt;- Model 매핑 프레임워크: ModelMapper 또는 AutoMapper와 같은 Model 매핑 프레임워크를 사용할 수 있습니다. 이러한 프레임워크는 객체 간에 매핑하는 편리한 방법을 제공하며, 종종 유형 변환, 검증 및 사용자 지정 매핑 로직과 같은 기능을 포함합니다.&lt;br&gt;- Model 대 Model 매핑: 대상 유형의 새 인스턴스를 생성하고 소스 유형에서 속성을 복사하여 DTO를 VO 또는 Model로 변환하는 사용자 지정 코드를 작성할 수 있습니다.&lt;br&gt; 개체 매핑 라이브러리 또는 Model 매핑 프레임워크를 사용하는 것이 좋습니다. 시간과 노력을 절약하고 코드를 보다 유지 관리 가능하고 확장 가능하도록 만들 수 있습니다.&lt;br&gt;&lt;br&gt;4가지 방법이 있겠다.&lt;br&gt;그 중 첫번째와 네번째는 손으로 직접 만들라는 귀찮은 방법이다.&lt;br&gt;필드가 적은 경우엔 간단히 끝나서 문제가 없지만, 필드가 많다면 귀찮을 것 같다.&lt;br&gt;역시 라이브러리나 프레임워크를 사용하는 것을 추천한다.&lt;br&gt;&lt;br&gt;본인도 MapStruct 밖에 써보지 않았는데, 기회가 된다면 Mapper 프레임워크를 배워보면 좋겠다.&lt;/p&gt;</description>
      <category>dev/java</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/54</guid>
      <comments>https://jayviii.tistory.com/54#entry54comment</comments>
      <pubDate>Fri, 3 Feb 2023 20:48:52 +0900</pubDate>
    </item>
    <item>
      <title>서버를 띄운다는 말의 진짜 의미는 무엇인가?</title>
      <link>https://jayviii.tistory.com/53</link>
      <description>&lt;p&gt;첫 번째 질문, 서버를 띄운다는 말의 진짜 의미는 무엇인가?   &lt;/p&gt;
&lt;p&gt;실무를 하다 보면 누구나 습관처럼 서버에 대해서 이렇게 말한다.   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;서버 띄울게요.&lt;/li&gt;
&lt;li&gt;서버 떠있나요?&lt;/li&gt;
&lt;li&gt;서버 안 떠있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;서버는 왜 띄운다는 표현을 쓸까?&lt;br&gt;솔직히 말해서 어원을 찾을 수 없었다.&lt;br&gt;그렇다면 뜬다는 무슨 뜻일까?&lt;br&gt;네이버 국어사전에 있던 여러 가지 뜻 중 제일 그럴싸한 두 개를 가져와봤다.     &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;동사  물속이나 지면 따위에서 가라앉거나 내려앉지 않고 물 위나 공중에 있거나 위쪽으로 솟아오르다.&lt;/li&gt;
&lt;li&gt;동사  도면, 모형, 지형(紙型), 연판(鉛版) 따위를 만들다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;서버가 응답을 처리해 줄 준비가 되었다는 것을 은유적으로 표현해서 인터넷상에 떠올랐다고 하는 것일까?&lt;br&gt;아니면, 서버에 코드를 본떠서 인스턴스를 만들었다는 것일까?   &lt;/p&gt;
&lt;p&gt;어원이 어찌 되었든, 우리는 흔히 서버를 띄운다는 표현을 많이 쓴다.&lt;br&gt;서버를 띄운다는 것을 아주 쉽고 단순하게 말하자면 톰캣을 실행시키는 것이다.&lt;br&gt;위 문장에서 마치 서버는 톰캣이라고 표현을 했다.&lt;br&gt;문득 이런 궁금증이 든다.   &lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;p&gt;톰캣은 서버일까? 서버는 톰캣일까?   &lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;그렇다면 서버는 무엇일까?&lt;br&gt;위키피디아에서는 서버를 이렇게 정의했다.   &lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;p&gt;서버(영어: server, 문화어: 봉사기)는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램(server program) 또는 장치(device)를 의미한다.&lt;br&gt;출처 : &lt;a href=&quot;https://ko.m.wikipedia.org/wiki/%EC%84%9C%EB%B2%84&quot;&gt;https://ko.m.wikipedia.org/wiki/서버&lt;/a&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;위키 문서여서 글이 다소 딱딱하고 이질감이 느껴진다.&lt;br&gt;서버를 제외한 나머지 단어들을 더 친근한 단어로 바꿔서 문장을 표현해 보도록 하겠다.   &lt;/p&gt;
&lt;p&gt;&amp;quot;서버는 손님에게 인터넷을 통해 손님이 원하는 정보를 제공하는 프로그램 또는 컴퓨터를 의미한다.&amp;quot;   &lt;/p&gt;
&lt;p&gt;클라이언트는 손님으로, 네트워크는 인터넷으로, 정보나 서비스는 손님이 원하는 정보로 바꿔서 표현해 봤다.&lt;br&gt;바꿔서 표현해 보니 서버란 한마디로 프로그램 또는 컴퓨터라는 것을 알게 됐다.&lt;br&gt;여기서 말하는 프로그램으로써의 서버란 서버 애플리케이션을 의미할 것이고, 컴퓨터로서의 서버란 컴퓨터 장치와 거기에 깔린 서버용 OS를 의미할 것이다.   &lt;/p&gt;
&lt;p&gt;서버란 무엇인지에 대해서 아주아주 많이 단순하게 알아보았는데, 이제 위에서 표현했던 문장을 아래 문장으로 바꿔서 표현할 수 있을 것이다.&lt;br&gt;&amp;quot;서버를 띄운다는 것을 아주 쉽고 단순하게 말하자면 컴퓨터에 서버용 OS를 설치하고 톰캣을 설치해서 실행시키는 것이다.&amp;quot;   &lt;/p&gt;
&lt;p&gt;글의 제목을 거창하게 지었지만, 서버를 띄운다는 말의 진짜 의미는 이렇게 정리해 볼 수 있겠다.   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;서버 : 컴퓨터에 설치된 서버 애플리케이션&lt;/li&gt;
&lt;li&gt;띄운다 : 그 프로그램을 실행시킨다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;그렇다면 서버 프로그램을 실행시키면 서버가 되는가?&lt;br&gt;사실, 웹서버와 WAS, 서블릿 컨테이너에 대해 공부해 보고 정리하기 위한 서론이었다.&lt;br&gt;다음 글에서부터는 이것들에 대해서 궁금한 것 위주로 글을 써보도록 하겠다.&lt;/p&gt;</description>
      <category>dev/server</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/53</guid>
      <comments>https://jayviii.tistory.com/53#entry53comment</comments>
      <pubDate>Tue, 30 Aug 2022 21:03:29 +0900</pubDate>
    </item>
    <item>
      <title>서버는 어떻게 요청을 처리해 줄까?</title>
      <link>https://jayviii.tistory.com/52</link>
      <description>&lt;p&gt;블로그에 정말 오랜만에 글을 쓴다.&lt;br&gt;업무에서 멀티 스레드를 다루던 중 문득 이런 궁금증이 생겼다.   &lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;p&gt;서버는 어떻게 요청을 처리해 줄까?&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;생각해 보면, 그동안 서버가 어떻게 동작을 하는지 정확히 알지 못했던 것 같다.&lt;br&gt;그래서 이제부터 차근차근 알아가보려 한다.&lt;br&gt;사실 글을 쓰는 지금은 아직 한 글자도 알아보지 않은 상태이다.&lt;br&gt;다만 혹시라도 나와 같은 궁금증을 갖고 있을 누군가를 위해 내 생각의 흐름대로 글을 써보려 한다.&lt;br&gt;다음과 같은 순서대로 차근차근 알아볼 계획이다.   &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;서버를 띄운다는 말의 진짜 의미는 무엇인가?&lt;/li&gt;
&lt;li&gt;서버가 죽었다는 말을 많이 하는데, 그렇다면 죽기 전의 서버는 살아있다는 것인가?&lt;/li&gt;
&lt;li&gt;서버가 살아있다면, 서버는 어떤 일상을 보내고 있는가?&lt;/li&gt;
&lt;li&gt;서버는 요청을 어떻게 처리해 주는가?&lt;/li&gt;
&lt;li&gt;서버는 요청을 처리하기 전에 무엇을 하는가?&lt;/li&gt;
&lt;li&gt;서버는 요청을 처리한 다음에 무엇을 하는가?&lt;/li&gt;
&lt;li&gt;서버는 한 번에 하나의 요청만 처리할 수 있는가?&lt;/li&gt;
&lt;li&gt;서버가 동시에 처리할 수 있는 요청은 몇 개인가?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;사실 궁금했던 건 8번 질문 하나뿐이었다.&lt;br&gt;그렇지만 궁금증이 꼬리에 꼬리를 물다 보니 질문이 8개로 늘어났다.&lt;br&gt;이번 시리즈를 끝낼 수 있을지는 모르겠지만, 천천히 하나씩 해결해 보도록 하겠다.&lt;/p&gt;</description>
      <category>dev/server</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/52</guid>
      <comments>https://jayviii.tistory.com/52#entry52comment</comments>
      <pubDate>Thu, 25 Aug 2022 21:59:59 +0900</pubDate>
    </item>
    <item>
      <title>Java 코딩 컨벤션</title>
      <link>https://jayviii.tistory.com/51</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://naver.github.io/hackday-conventions-java/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://naver.github.io/hackday-conventions-java/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1661430412497&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;캠퍼스 핵데이 Java 코딩 컨벤션&quot; data-og-description=&quot;중괄호({,}) 는 클래스, 메서드, 제어문의 블럭을 구분한다. 5.1. K&amp;amp;R 스타일로 중괄호 선언 클래스 선언, 메서드 선언, 조건/반복문 등의 코드 블럭을 감싸는 중괄호에 적용되는 규칙이다. 중괄호 &quot; data-og-host=&quot;naver.github.io&quot; data-og-source-url=&quot;https://naver.github.io/hackday-conventions-java/&quot; data-og-url=&quot;https://naver.github.io/hackday-conventions-java/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bslbbx/hyPAwz63jP/5DGHGfs6fKJB0J6qqIxJK0/img.png?width=1150&amp;amp;height=942&amp;amp;face=0_0_1150_942,https://scrap.kakaocdn.net/dn/bPVqm9/hyPAydC6nE/34oWdkK8iX0gxehlHcENv0/img.png?width=1198&amp;amp;height=760&amp;amp;face=0_0_1198_760,https://scrap.kakaocdn.net/dn/bmNz04/hyPzjCsKG0/sr4EgVIxk4WcCE2hkcIz9K/img.png?width=1086&amp;amp;height=789&amp;amp;face=0_0_1086_789&quot;&gt;&lt;a href=&quot;https://naver.github.io/hackday-conventions-java/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://naver.github.io/hackday-conventions-java/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bslbbx/hyPAwz63jP/5DGHGfs6fKJB0J6qqIxJK0/img.png?width=1150&amp;amp;height=942&amp;amp;face=0_0_1150_942,https://scrap.kakaocdn.net/dn/bPVqm9/hyPAydC6nE/34oWdkK8iX0gxehlHcENv0/img.png?width=1198&amp;amp;height=760&amp;amp;face=0_0_1198_760,https://scrap.kakaocdn.net/dn/bmNz04/hyPzjCsKG0/sr4EgVIxk4WcCE2hkcIz9K/img.png?width=1086&amp;amp;height=789&amp;amp;face=0_0_1086_789');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;캠퍼스 핵데이 Java 코딩 컨벤션&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;중괄호({,}) 는 클래스, 메서드, 제어문의 블럭을 구분한다. 5.1. K&amp;amp;R 스타일로 중괄호 선언 클래스 선언, 메서드 선언, 조건/반복문 등의 코드 블럭을 감싸는 중괄호에 적용되는 규칙이다. 중괄호&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;naver.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캠퍼스 핵데이 Java 코딩 컨벤션 링크입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자주 참고하면 좋을 내용이어서 공유 겸, 자주 찾아보려고 남깁니다.&lt;/p&gt;</description>
      <category>dev/subscribe</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/51</guid>
      <comments>https://jayviii.tistory.com/51#entry51comment</comments>
      <pubDate>Thu, 25 Aug 2022 21:28:30 +0900</pubDate>
    </item>
    <item>
      <title>AFK 아레나 교환코드 4월 중순 신규 코드</title>
      <link>https://jayviii.tistory.com/50</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;안녕하세요.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;4월 AFK 아레나 교환코드 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;4월 중순 기준으로 신규로 등록 가능한 코드 인데요.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/4wRo3/btqDzjPPO0H/wno9yK8360sKisVX8TFK80/img.jpg&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;2191&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4wRo3/btqDzjPPO0H/wno9yK8360sKisVX8TFK80/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4wRo3/btqDzjPPO0H/wno9yK8360sKisVX8TFK80/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4wRo3/btqDzjPPO0H/wno9yK8360sKisVX8TFK80/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4wRo3%2FbtqDzjPPO0H%2Fwno9yK8360sKisVX8TFK80%2Fimg.jpg&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/4wRo3/btqDzjPPO0H/wno9yK8360sKisVX8TFK80/img.jpg&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;2191&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;왼쪽 위의 내 캐릭터 사진을 누르고&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;아래쪽에서 시스템 설정을 누르면 &lt;/span&gt;&lt;br&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;교환코드를 등록할 수 있게 나오는데요~&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/zQG8K/btqDCZPUk52/KVi3FmKvUsaF76DWC8Kwa0/img.jpg&quot; data-origin-width=&quot;1893&quot; data-origin-height=&quot;439&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zQG8K/btqDCZPUk52/KVi3FmKvUsaF76DWC8Kwa0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zQG8K/btqDCZPUk52/KVi3FmKvUsaF76DWC8Kwa0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zQG8K/btqDCZPUk52/KVi3FmKvUsaF76DWC8Kwa0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzQG8K%2FbtqDCZPUk52%2FKVi3FmKvUsaF76DWC8Kwa0%2Fimg.jpg&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/zQG8K/btqDCZPUk52/KVi3FmKvUsaF76DWC8Kwa0/img.jpg&quot; data-origin-width=&quot;1893&quot; data-origin-height=&quot;439&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;우선 다이아를 얻을 수 있는 코드 두개 입니다~&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/bqIDk2/btqDzjCfXX4/76GX06K6C9EF81wV3Oy5C1/img.jpg&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqIDk2/btqDzjCfXX4/76GX06K6C9EF81wV3Oy5C1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqIDk2/btqDzjCfXX4/76GX06K6C9EF81wV3Oy5C1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqIDk2/btqDzjCfXX4/76GX06K6C9EF81wV3Oy5C1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqIDk2%2FbtqDzjCfXX4%2F76GX06K6C9EF81wV3Oy5C1%2Fimg.jpg&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/bqIDk2/btqDzjCfXX4/76GX06K6C9EF81wV3Oy5C1/img.jpg&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;137&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;이건 가장 최신 쿠폰인데요.&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;보상이 뭐였는지는 기억이 안나네요ㅋㅋ&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;보상 획득하시고 즐거운 AFK 아레나 즐기세요~&lt;/span&gt;&lt;/p&gt;</description>
      <category>일상/리뷰</category>
      <category>AFK</category>
      <category>AFK아레나</category>
      <category>교환코드</category>
      <category>아레나</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/50</guid>
      <comments>https://jayviii.tistory.com/50#entry50comment</comments>
      <pubDate>Tue, 21 Apr 2020 22:59:14 +0900</pubDate>
    </item>
    <item>
      <title>처음 하는 스프링 부트(Spring Boot), MyBatis와 MariaDB</title>
      <link>https://jayviii.tistory.com/49</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://jayviii.tistory.com/48&quot;&gt;처음 하는 스프링 부트(Spring Boot), Controller와 JSP&lt;/a&gt;에 이어서.&lt;/p&gt;
&lt;h3&gt;1. DB 준비하기&lt;/h3&gt;
&lt;p&gt;스프링 포스팅에서 만들었던 DB를 그대로 사용할 예정입니다.&lt;br&gt;그렇기 때문에 그때 자료를 또 사용할게요.&lt;/p&gt;
&lt;p&gt;일단 MariaDB는 깔았다고 치고 진행하겠습니다.&lt;br&gt;혹시라도 설치를 안하셨다면 아무 버전이나 가볍게 설치하셔도 상관없어요.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/9V5AP29.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;설치만 하고 아무것도 손을 안댄 상태의 DB는 이렇게 아무것도 없습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Q2g9JIy.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;againDB 라는 이름으로 DB를 하나 만들어볼게요.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/0I8ERkT.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;다시 조회를 해보면 만든 DB가 보일거에요.&lt;/p&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0;padding:0;border:none;background-color:#fafafa;border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0;text-align:left&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;use&lt;/span&gt;&amp;nbsp;againDB;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none;color:white&quot;&gt;&lt;span style=&quot;font-size:9px;word-break:normal;background-color:#e5e5e5;color:white;border-radius:10px;padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;방금 만든 againDB 를 사용한다는 명령어인데, 입력하면 DB 가 선택이 됩니다.&lt;br&gt;이제 테이블을 만든 차례네요.&lt;/p&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0;padding:0;border:none;background-color:#fafafa;border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0;text-align:left&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;create&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;table&lt;/span&gt;&amp;nbsp;disposable_table(&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disposable_string&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;VARCHAR&lt;/span&gt;(&lt;span style=&quot;color:#004fc8&quot;&gt;32&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;,&amp;nbsp;disposable_int&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;INT&lt;/span&gt;(&lt;span style=&quot;color:#004fc8&quot;&gt;8&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;);&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none;color:white&quot;&gt;&lt;span style=&quot;font-size:9px;word-break:normal;background-color:#e5e5e5;color:white;border-radius:10px;padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;

&lt;p&gt;이렇게 쿼리창에 create 문을 입력하고 실행하면 테이블이 생성됩니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/D4zGQ8R.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;이제 insert 문으로 데이터를 입력한 다음, select 문으로 입력한 데이터를 조회해보면 잘 조회가 되네요.&lt;br&gt;DB 연결 연습용이기 때문에 데이터는 아주 간단히만 넣었습니다.&lt;/p&gt;
&lt;h3&gt;2. MyBatis 와 MariaDB 설정하기&lt;/h3&gt;
&lt;p&gt;다음은 부트에 MyBatis 와 MariaDB 를 설정할 차례입니다.&lt;/p&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0;padding:0;border:none;background-color:#fafafa;border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0;text-align:left&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;plugins&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'org.springframework.boot'&lt;/span&gt;&amp;nbsp;version&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'2.2.5.RELEASE'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'io.spring.dependency-management'&lt;/span&gt;&amp;nbsp;version&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'1.0.9.RELEASE'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'java'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;group&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'com.begin'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;version&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'0.0.1-SNAPSHOT'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;sourceCompatibility&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'1.8'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;repositories&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mavenCentral()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;dependencies&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'org.springframework.boot:spring-boot-starter-web'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'javax.servlet:jstl'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'org.apache.tomcat.embed:tomcat-embed-jasper'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'org.mariadb.jdbc:mariadb-java-client:2.1.2'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runtimeOnly&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'mysql:mysql-connector-java'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;testImplementation(&lt;span style=&quot;color:#63a35c&quot;&gt;'org.springframework.boot:spring-boot-starter-test'&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exclude&amp;nbsp;group:&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'org.junit.vintage'&lt;/span&gt;,&amp;nbsp;module:&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'junit-vintage-engine'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;test&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;useJUnitPlatform()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color:#e5e5e5text-decoration:none&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none;color:white&quot;&gt;&lt;span style=&quot;font-size:9px;word-break:normal;background-color:#e5e5e5;color:white;border-radius:10px;padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;

&lt;p&gt;build.gradle 에 mybatis, mariadb dependency 를 추가합니다.&lt;br&gt;Dependency 를 추가한 다음엔 Refresh Gradle Project 를 꼭 잊지말고 해주세요.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/QStqloz.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;다음은 application.yml 설정파일에 datasource 정보를 추가해줍니다.&lt;br&gt;이때, spring 은 이미 선언했기떄문에 mvc 와 같은 레벨에 datasource 를 추가해줘야 한다는 것만 주의해주세요.&lt;br&gt;xml 로 설정하는거에 비하면 상당히 편리한 방법이죠.&lt;/p&gt;
&lt;p&gt;더이상의 설정은 필요없습니다.&lt;br&gt;스프링에서는 mybatis 설정을 위해 db-context.xml 안에 sqlSessionFactory, sqlSession 등을 설정하고,&lt;br&gt;mapper 의 위치를 지정해주는 등 여러 설정이 필요했었죠.&lt;br&gt;하지만, 부트에서는 오직 mybatis-spring-boot-starter 만 추가해주면 나머지는 알아서 다 해줍니다.&lt;/p&gt;
&lt;h3&gt;3. Mapper 및 Controller 만들기&lt;/h3&gt;
&lt;p&gt;이제 간단한 Mapper 를 만들어보고, DB 가 잘 조회되는지 테스트를 해보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/QOdkW7W.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;우선 Mapper 패키지를 만들고, SampleMapper.java 인터페이스를 만들었습니다.&lt;/p&gt;
&lt;p&gt;
  &lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important;overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0;padding:0;border:none;background-color:#fafafa;border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0;text-align:left&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;package&lt;/span&gt;&amp;nbsp;com.begin.second.sample.mapper;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;org.apache.ibatis.annotations.Mapper;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;org.apache.ibatis.annotations.Select;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;@Mapper&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;interface&lt;/span&gt;&amp;nbsp;SampleMapper&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Select(&lt;span style=&quot;color:#993333&quot;&gt;&quot;&amp;nbsp;select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disposable_string&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\n&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#993333&quot;&gt;&quot;&amp;nbsp;from&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disposable_table&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;String&lt;/span&gt;&amp;nbsp;selectSampleData();&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color:#e5e5e5text-decoration:none&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none;color:white&quot;&gt;&lt;span style=&quot;font-size:9px;word-break:normal;background-color:#e5e5e5;color:white;border-radius:10px;padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;/p&gt;

&lt;p&gt;class 가 아닌 interface 로 만들었다는 점만 유의해주시면 좋을 것 같아요.&lt;br&gt;부트에서는 많은 기능을 애노테이션(@)을 사용하는 것을 선호하는데요.&lt;br&gt;이 interface 를 Mapper 로 사용한다는 의미에서 @Mapper 를 선언해주었습니다.&lt;br&gt;그리고 selectSampleData 메소드에는 조회를 하는 용도로 사용할 것이며, 쿼리는 이렇게 쓰겠다는 의미로 @Select 를 사용했습니다.&lt;/p&gt;
&lt;p&gt;
  &lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important;overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0;padding:0;border:none;background-color:#fafafa;border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0;text-align:left&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;package&lt;/span&gt;&amp;nbsp;com.begin.second.sample.controller;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;org.springframework.beans.factory.annotation.Autowired;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;org.springframework.stereotype.Controller;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;org.springframework.web.bind.annotation.RequestMapping;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;com.begin.second.sample.mapper.SampleMapper;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;@Controller&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;class&lt;/span&gt;&amp;nbsp;SampleController&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired&amp;nbsp;SampleMapper&amp;nbsp;sampleMapper;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequestMapping(&lt;span style=&quot;color:#993333&quot;&gt;&quot;/sample.bgn&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;String&lt;/span&gt;&amp;nbsp;sampleView()&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color:#0099cc&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color:#0099cc&quot;&gt;println&lt;/span&gt;(sampleMapper.selectSampleData());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#993333&quot;&gt;&quot;sample&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color:#e5e5e5text-decoration:none&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none;color:white&quot;&gt;&lt;span style=&quot;font-size:9px;word-break:normal;background-color:#e5e5e5;color:white;border-radius:10px;padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;/p&gt;

&lt;p&gt;다음은 Controller 에 방금 만든 Mapper 를 붙여주도록 하겠습니다.&lt;br&gt;Mapper 가 Controller 에 주입될 수 있도록 @Autowired 로 연결해주면 간단히 끝이 납니다.&lt;br&gt;다음은 조회가 잘 되는지 간단히 시스템 로그를 찍어보는 부분을 추가했습니다.&lt;br&gt;이제 서버를 실행시켜서 잘 돌아가는지 확인해볼까요.&lt;/p&gt;
&lt;h3&gt;4. 확인하기&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/RC79Ftb.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;버튼을 눌렀을때 로그가 잘 남았다면 DB 연결도 잘 되었고, 조회도 성공했다는 의미입니다.&lt;br&gt;이렇게해서 간단히 DB 연결까지 마무리해봤는데요.&lt;br&gt;다음엔 데이터를 가공해서 화면에 넘겨보는 기능까지 구현을 해보도록 하겠습니다.&lt;/p&gt;</description>
      <category>dev/java</category>
      <category>Boot</category>
      <category>Java</category>
      <category>spring</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/49</guid>
      <comments>https://jayviii.tistory.com/49#entry49comment</comments>
      <pubDate>Sun, 29 Mar 2020 20:31:07 +0900</pubDate>
    </item>
    <item>
      <title>처음 하는 스프링 부트(Spring Boot), Controller와 JSP</title>
      <link>https://jayviii.tistory.com/48</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://jayviii.tistory.com/47&quot;&gt;처음 하는 스프링 부트(Spring Boot), 프로젝트 생성하기&lt;/a&gt;에 이어서.&lt;/p&gt;
&lt;p&gt;이번엔 지난 포스팅에서 만들었던 프로젝트에 간단한 화면을 붙여보도록 하겠습니다.&lt;/p&gt;
&lt;h3&gt;1. 화면 구성하기&lt;/h3&gt;
&lt;p&gt;지난 포스팅에서 다뤘던 내용을 똑같이 재현해보려고 합니다.&lt;br&gt;하지만 부트에서 JSP를 사용하려면 조금 더 손을 댈 곳이 있는데요.&lt;/p&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;29&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;plugins&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot'&lt;/span&gt;&amp;nbsp;version&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'2.2.5.RELEASE'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'io.spring.dependency-management'&lt;/span&gt;&amp;nbsp;version&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'1.0.9.RELEASE'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'java'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;group&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'com.begin'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;version&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'0.0.1-SNAPSHOT'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;sourceCompatibility&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'1.8'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;repositories&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mavenCentral()&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;dependencies&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot:spring-boot-starter-web'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'javax.servlet:jstl'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.apache.tomcat.embed:tomcat-embed-jasper'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runtimeOnly&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'mysql:mysql-connector-java'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;testImplementation(&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot:spring-boot-starter-test'&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exclude&amp;nbsp;group:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.junit.vintage'&lt;/span&gt;,&amp;nbsp;module:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'junit-vintage-engine'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;test&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;useJUnitPlatform()&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/ &gt;

&lt;p&gt;먼저, build.gradle 에 jstl과 tomcat-embed-jasper 를 추가합니다.&lt;br&gt;부트에서 JSP 를 사용하기 위해서 추가해줘야 하는 dependency 들인데요.&lt;br&gt;필요하다면 자세한 내용은 나중에 살펴보기로 하고, 일단은 그냥 추가하고 넘어가기로 하죠.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/xb5GFka.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;build.gradle 에 의존성을 추가한 다음엔 항상 Refresh 를 해줘야 추가된 라이브러리를 내려받을 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/vW99q3I.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;다음은 스프링에서 했던 것처럼 JSP viewResolver 설정을 다시 해주도록 합니다.&lt;br&gt;설정은 정말 간단하게 application 이름으로 된 properties 혹은 yml 파일에 작성하면 되는데요.&lt;br&gt;저는 yml 파일을 더 선호하니까 yml 파일로 바꾸고 작성을 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/PTSTrFR.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;이제 위에서 설정한 경로대로 jsp 디렉토리를 만들고, 지난번처럼 index.jsp 와 sample.jsp 를 만들었습니다.&lt;/p&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;%&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;@&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;page&lt;/span&gt;&amp;nbsp;language&lt;span style=&quot;color: #ff3399;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;java&quot;&lt;/span&gt;&amp;nbsp;contentType&lt;span style=&quot;color: #ff3399;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;text/html;&amp;nbsp;charset=UTF-8&quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pageEncoding&lt;span style=&quot;color: #ff3399;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;!DOCTYPE&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;html&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;PUBLIC&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;-//W3C//DTD&amp;nbsp;HTML&amp;nbsp;4.01&amp;nbsp;Transitional//EN&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;meta&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;http-equiv&lt;/span&gt;=&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;Content-Type&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;content&lt;/span&gt;=&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;text/html;&amp;nbsp;charset=UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;Insert&amp;nbsp;title&amp;nbsp;here&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;strong&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;처음&amp;nbsp;시작하는&amp;nbsp;index.jsp&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;strong&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;br/&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;form&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;action&lt;/span&gt;=&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;/sample.bgn&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;method&lt;/span&gt;=&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;post&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;button&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;onclick&lt;/span&gt;=&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;submit&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;처음&amp;nbsp;만든&amp;nbsp;버튼&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;button&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;form&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/ &gt;

&lt;p&gt;index.jsp 입니다.&lt;/p&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;%&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;@&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;page&lt;/span&gt;&amp;nbsp;language&lt;span style=&quot;color: #ff3399;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;java&quot;&lt;/span&gt;&amp;nbsp;contentType&lt;span style=&quot;color: #ff3399;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;text/html;&amp;nbsp;charset=UTF-8&quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pageEncoding&lt;span style=&quot;color: #ff3399;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;!DOCTYPE&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;html&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;PUBLIC&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;-//W3C//DTD&amp;nbsp;HTML&amp;nbsp;4.01&amp;nbsp;Transitional//EN&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;meta&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;http-equiv&lt;/span&gt;=&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;Content-Type&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0a9989;&quot;&gt;content&lt;/span&gt;=&lt;span style=&quot;color: #df5000;&quot;&gt;&quot;text/html;&amp;nbsp;charset=UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #0a9989;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;Insert&amp;nbsp;title&amp;nbsp;here&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;h1&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Begin&amp;nbsp;Project!&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;h1&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&quot;처음&amp;nbsp;만든&amp;nbsp;버튼&quot;을&amp;nbsp;누르셨습니다!&amp;nbsp;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: #010101;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/ &gt;

&lt;p&gt;sample.jsp 입니다.&lt;/p&gt;
&lt;h3&gt;2. Controller 만들기&lt;/h3&gt;
&lt;p&gt;이제 화면 띄울 준비를 마쳤으니, 서버로 호출이 들어왔을 때 화면까지 연결해줄 Controller 를 만들어보도록 할게요.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/X2TXnSU.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;먼저 프로젝트에 sample.controller 를 생성했습니다.&lt;br&gt;참고로 sample 패키지 하위에 controller 패키지를 만들더라도, 패키지가 한 개뿐일 경우엔 이어져서 보이게 됩니다.&lt;br&gt;sample 패키지 하위에 dao, service 등 패키지를 하나 더 만들면 자연스럽게 나뉘니 이상하게 생각하지 않아도 괜찮아요.&lt;/p&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;package&lt;/span&gt;&amp;nbsp;com.begin.second.sample.controller;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;org.springframework.stereotype.Controller;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;org.springframework.web.bind.annotation.RequestMapping;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;@Controller&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;class&lt;/span&gt;&amp;nbsp;SampleController&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequestMapping(&lt;span style=&quot;color: #993333;&quot;&gt;&quot;/sample.bgn&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;String&lt;/span&gt;&amp;nbsp;sampleView()&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;&quot;sample&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/ &gt;

&lt;p&gt;그리고 지난번과 똑같은 SampleController 를 만들었습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/0ZIt6wp.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;이제 다시 서버를 실행시키고, 이번엔 화면을 띄워보았습니다.&lt;br&gt;많이 보던 익숙한 화면이죠.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/i3N7fFr.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;버튼을 누르면 화면으로도 잘 넘어가지네요.&lt;/p&gt;
&lt;p&gt;이렇게 간단히 부트를 통해서 화면까지 만들어봤습니다.&lt;br&gt;다음번엔 DB 를 연결해보도록 하겠습니다.&lt;/p&gt;</description>
      <category>dev/java</category>
      <category>Java</category>
      <category>spring</category>
      <category>spring boot</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/48</guid>
      <comments>https://jayviii.tistory.com/48#entry48comment</comments>
      <pubDate>Sun, 22 Mar 2020 19:16:59 +0900</pubDate>
    </item>
    <item>
      <title>처음 하는 스프링 부트(Spring Boot), 프로젝트 생성하기</title>
      <link>https://jayviii.tistory.com/47</link>
      <description>&lt;p&gt;맥북을 샀습니다.&lt;br /&gt;새로운 마음으로 스프링 부트 시리즈를 포스팅해볼까 합니다.&lt;/p&gt;
&lt;h1&gt;프로젝트 생성하기&lt;/h1&gt;
&lt;h3&gt;0. 프로젝트를 생성하기 전에&lt;/h3&gt;
&lt;p&gt;먼저 이클립스를 켭니다.&lt;br /&gt;모두 알고 있겠지만, 스프링의 빌드 도구로는 Maven 말고도 Gradle이 있는데 이번엔 Gradle을 사용해보려고 합니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/kxFuPk4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Help &amp;gt; Eclipse Marketplace 에서 Buildship Gradle Integration 3.0 을 설치합시다.&lt;/p&gt;
&lt;h3&gt;1. 스프링 부트 프로젝트 생성하기&lt;/h3&gt;
&lt;p&gt;지금부터는 편의상 부트로 줄여서 부르겠습니다.&lt;br /&gt;부트 프로젝트를 생성하는건 너무 간단한데요.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/zih9pLZ.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Spring Starter Project 는 프로젝트를 아주 간단하게 생성할 수 있도록 만들어져 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Va2yMJw.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;클릭하면 초기화면이 나타나는데, 이제 입맛에 맞게 간단히 바꿔보도록 하죠.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/uUZAFdN.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;프로젝트 이름은 원하는 이름으로 설정하고, 특이한 점으로는 Gradle 3.0 버전을 선택한 점이네요.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/GZ9AX00.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;여기선 이전에 포스팅했던 스프링 프로젝트를 간단히 재현해보기 위해서 두 개 정도 선택해보도록 하죠.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/zviCYc9.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;마지막으로 Finish 버튼을 누르면 끝입니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/4TXoyGy.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;이렇게 단순하고 깔끔한 프로젝트가 생성 됐습니다.&lt;/p&gt;
&lt;h3&gt;2. 부트 프로젝트 실행해보기&lt;/h3&gt;
&lt;p&gt;스프링은 톰캣을 별개로 설치해줘야 했지만, 부트는 톰캣이 내장되어있습니다.&lt;br /&gt;Boot Dashboard 탭에서 간편하게 실행해볼 수 있죠.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/XiOpb1P.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Boot Dashboard 탭을 보면 방금 생성한 프로젝트 이름이 보일 텐데요.&lt;br /&gt;Start 를 클릭하면 서버가 바로 실행됩니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/9AljkXs.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;서버가 성공적으로 실행됐다는 로그가 깔끔히 남아있습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/aPvfNax.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;서버를 끌 때는 Stop 을 클릭하면 바로 꺼집니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/fDB9T3a.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;마찬가지로 서버가 잘 꺼졌다는 로그가 남았네요.&lt;/p&gt;
&lt;p&gt;스프링을 포스팅할 땐 톰캣을 실행하기까지 몇 번이나 포스팅을 했었는데, 부트는 너무나도 쉽게 끝이 났습니다.&lt;br /&gt;사실, 스프링은 실제 소스를 개발하기까지의 과정이 다소 번거로운 편인데요.&lt;br /&gt;저는 그래서 설정이 간편한 부트를 선호합니다.&lt;/p&gt;
&lt;h3&gt;3. 여담&lt;/h3&gt;
&lt;p&gt;혹시라도 저와 같은 고민을 하는 분들이 많을 것 같아서 여담으로 몇 자 적어봅니다.&lt;br /&gt;공부를 하려고 새로운 부트 프로젝트를 만들 때, 부트 버전이나 Gradle 버전을 뭘로 하면 좋을지 고민을 할 때가 있는데요.&lt;br /&gt;버전별로 큰 차이는 없으니 일단 아무 버전으로나 만들어도 괜찮습니다.&lt;br /&gt;고민할 시간에 일단 만들고 시작해보는 게 더 도움이 될 거예요.&lt;br /&gt;대부분은 버전이 다르다고 해서 큰 차이를 느끼진 못할 겁니다.&lt;br /&gt;만약에라도 다른 버전이 필요하다고 느낀다면 그때 가서 새로운 버전으로 마이그레이션 해보세요.&lt;br /&gt;버전의 차이를 느낄 정도라면 그걸로 이미 충분히 학습이 되었다는 의미일 테니까요.&lt;/p&gt;</description>
      <category>dev/java</category>
      <category>Java</category>
      <category>spring</category>
      <category>springboot</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/47</guid>
      <comments>https://jayviii.tistory.com/47#entry47comment</comments>
      <pubDate>Sat, 21 Mar 2020 20:07:49 +0900</pubDate>
    </item>
    <item>
      <title>[스타벅스 주식] 2020년 3월 첫째 주의 스타벅스는?</title>
      <link>https://jayviii.tistory.com/45</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: #666666; letter-spacing: 0px;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;지난 한 주간 국내외 스타벅스에는 무슨 일이 있었을까요?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;2020.03.03 화요일&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;a href=&quot;http://www.newsis.com/view/?id=NISX20200303_0000940347&amp;amp;cID=10401&amp;amp;pID=10400&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;미래에셋대우, '스타벅스 오더 말고 오너' 이벤트&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583743625893&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;미래에셋대우, '스타벅스 오더 말고 오너' 이벤트&quot; data-og-description=&quot;[서울=뉴시스] 류병화 기자 = 미래에셋대우는 3일 해외주식 거래 확대를 위해 '스타벅스 오더 말고 오너되자' 이벤트를 다음달 14일까지 진행한다고 밝혔다&quot; data-og-host=&quot;www.newsis.com&quot; data-og-source-url=&quot;http://www.newsis.com/view/?id=NISX20200303_0000940347&amp;amp;cID=10401&amp;amp;pID=10400&quot; data-og-url=&quot;http://www.newsis.com/view/?id=NISX20200303_0000940347&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/hCoeS/hyFds3B2oa/xktxhTQVisuU44JVp8T7kK/img.jpg?width=640&amp;amp;height=285&amp;amp;face=0_0_640_285,https://scrap.kakaocdn.net/dn/egpaOm/hyFdwdSTYo/IPH5IUVGiVFILW5KMVQOZk/img.jpg?width=640&amp;amp;height=285&amp;amp;face=0_0_640_285,https://scrap.kakaocdn.net/dn/e7g92/hyFdnaa36K/Vr6kFnBLaDLlZs3URBXkK0/img.jpg?width=640&amp;amp;height=285&amp;amp;face=0_0_640_285&quot;&gt;&lt;a href=&quot;http://www.newsis.com/view/?id=NISX20200303_0000940347&amp;amp;cID=10401&amp;amp;pID=10400&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://www.newsis.com/view/?id=NISX20200303_0000940347&amp;amp;cID=10401&amp;amp;pID=10400&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/hCoeS/hyFds3B2oa/xktxhTQVisuU44JVp8T7kK/img.jpg?width=640&amp;amp;height=285&amp;amp;face=0_0_640_285,https://scrap.kakaocdn.net/dn/egpaOm/hyFdwdSTYo/IPH5IUVGiVFILW5KMVQOZk/img.jpg?width=640&amp;amp;height=285&amp;amp;face=0_0_640_285,https://scrap.kakaocdn.net/dn/e7g92/hyFdnaa36K/Vr6kFnBLaDLlZs3URBXkK0/img.jpg?width=640&amp;amp;height=285&amp;amp;face=0_0_640_285');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;미래에셋대우, '스타벅스 오더 말고 오너' 이벤트&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;[서울=뉴시스] 류병화 기자 = 미래에셋대우는 3일 해외주식 거래 확대를 위해 '스타벅스 오더 말고 오너되자' 이벤트를 다음달 14일까지 진행한다고 밝혔다&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.newsis.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 미래에셋대우는 해외 주식 거래 활성화를 위해 '스타벅스 오더 말고 오너' 이벤트를 진행한다고 합니다. 운이 좋으면 스타벅스 주식 1주도 당첨된다고 하네요!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.fool.com/investing/2020/03/03/heres-how-starbucks-has-handled-coronavirus-in-chi.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Here's How Starbucks Has Handled Coronavirus in China&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583743704749&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Here's How Starbucks Has Handled Coronavirus in China | The Motley Fool&quot; data-og-description=&quot;It could be a blueprint for the how it operates should a major U.S. outbreak occur.&quot; data-og-host=&quot;www.fool.com&quot; data-og-source-url=&quot;https://www.fool.com/investing/2020/03/03/heres-how-starbucks-has-handled-coronavirus-in-chi.aspx&quot; data-og-url=&quot;https://www.fool.com/investing/2020/03/03/heres-how-starbucks-has-handled-coronavirus-in-chi.aspx&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/EeIOI/hyFdtBtnSJ/DHXJGAkeoemnlwnw02qTK1/img.jpg?width=1500&amp;amp;height=1000&amp;amp;face=623_0_796_187,https://scrap.kakaocdn.net/dn/5fLT1/hyFdyv0bG4/KKLfm2n5shhzB5PDlpawJK/img.jpg?width=1500&amp;amp;height=1000&amp;amp;face=623_0_796_187,https://scrap.kakaocdn.net/dn/b2AntI/hyFdmClhtt/gZ9bmJlXmQocMBNPzeQkCK/img.png?width=1619&amp;amp;height=1005&amp;amp;face=0_0_1619_1005&quot;&gt;&lt;a href=&quot;https://www.fool.com/investing/2020/03/03/heres-how-starbucks-has-handled-coronavirus-in-chi.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.fool.com/investing/2020/03/03/heres-how-starbucks-has-handled-coronavirus-in-chi.aspx&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/EeIOI/hyFdtBtnSJ/DHXJGAkeoemnlwnw02qTK1/img.jpg?width=1500&amp;amp;height=1000&amp;amp;face=623_0_796_187,https://scrap.kakaocdn.net/dn/5fLT1/hyFdyv0bG4/KKLfm2n5shhzB5PDlpawJK/img.jpg?width=1500&amp;amp;height=1000&amp;amp;face=623_0_796_187,https://scrap.kakaocdn.net/dn/b2AntI/hyFdmClhtt/gZ9bmJlXmQocMBNPzeQkCK/img.png?width=1619&amp;amp;height=1005&amp;amp;face=0_0_1619_1005');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Here's How Starbucks Has Handled Coronavirus in China | The Motley Fool&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;It could be a blueprint for the how it operates should a major U.S. outbreak occur.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.fool.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 코로나 19의 확산을 도왔다는 불명예를 얻지 않기 위해 스타벅스는 계속해서 노력하고 있네요!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2020.03.04 수요일&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.fool.com/investing/2020/03/04/why-starbucks-is-a-retirees-dream-stock.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Why Starbucks Is a Retiree's Dream Stock&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583895706327&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Why Starbucks Is a Retiree's Dream Stock | The Motley Fool&quot; data-og-description=&quot;The coffee chain offers growth and stability.&quot; data-og-host=&quot;www.fool.com&quot; data-og-source-url=&quot;https://www.fool.com/investing/2020/03/04/why-starbucks-is-a-retirees-dream-stock.aspx&quot; data-og-url=&quot;https://www.fool.com/investing/2020/03/04/why-starbucks-is-a-retirees-dream-stock.aspx&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mMt0j/hyFeTz5K4p/o83Q1zLdHWbqaJ5KEKwjlK/img.jpg?width=2048&amp;amp;height=1357&amp;amp;face=0_0_2048_1357,https://scrap.kakaocdn.net/dn/bcq9nL/hyFeG1QiD9/DGcT6tsC9WZUulTczhj0k0/img.jpg?width=2048&amp;amp;height=1357&amp;amp;face=0_0_2048_1357,https://scrap.kakaocdn.net/dn/cwHin8/hyFeGU3M0J/bJwyHLGtlLGirqzuUQ279K/img.png?width=1619&amp;amp;height=1005&amp;amp;face=0_0_1619_1005&quot;&gt;&lt;a href=&quot;https://www.fool.com/investing/2020/03/04/why-starbucks-is-a-retirees-dream-stock.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.fool.com/investing/2020/03/04/why-starbucks-is-a-retirees-dream-stock.aspx&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mMt0j/hyFeTz5K4p/o83Q1zLdHWbqaJ5KEKwjlK/img.jpg?width=2048&amp;amp;height=1357&amp;amp;face=0_0_2048_1357,https://scrap.kakaocdn.net/dn/bcq9nL/hyFeG1QiD9/DGcT6tsC9WZUulTczhj0k0/img.jpg?width=2048&amp;amp;height=1357&amp;amp;face=0_0_2048_1357,https://scrap.kakaocdn.net/dn/cwHin8/hyFeGU3M0J/bJwyHLGtlLGirqzuUQ279K/img.png?width=1619&amp;amp;height=1005&amp;amp;face=0_0_1619_1005');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Why Starbucks Is a Retiree's Dream Stock | The Motley Fool&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;The coffee chain offers growth and stability.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.fool.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 코로나에 지친 요즘 오랜만에 긍정적인 기사가 나왔네요. 스타벅스의 케빈 존슨 CEO에 따르면 이번 1분기 매출은 상당히 좋았고, 코로나바이러스는 단기적인 문제이기 때문에 오히려 스타벅스의 주식을 저렴하게 살 기회라고 생각한다고 합니다!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.fool.com/investing/2020/03/04/the-coronavirus-outbreak-doesnt-change-starbucks-s.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Coronavirus Outbreak Doesn't Change Starbucks' Strong Long-Term Outlook&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583896101692&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;The Coronavirus Outbreak Doesn't Change Starbucks' Strong Long-Term Outlook | The Motley Fool&quot; data-og-description=&quot;Starbucks&amp;rsquo; strong brand and growth prospects make it worth a spot in your portfolio.&quot; data-og-host=&quot;www.fool.com&quot; data-og-source-url=&quot;https://www.fool.com/investing/2020/03/04/the-coronavirus-outbreak-doesnt-change-starbucks-s.aspx&quot; data-og-url=&quot;https://www.fool.com/investing/2020/03/04/the-coronavirus-outbreak-doesnt-change-starbucks-s.aspx&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/VErWh/hyFeNGCHRN/SqrpBqeqVNZiBVNZ8t4021/img.jpg?width=2121&amp;amp;height=1414&amp;amp;face=1252_308_1503_559,https://scrap.kakaocdn.net/dn/WpbeS/hyFeQpPvcQ/QM9LnxUGATUVcu2vwQ5SC1/img.jpg?width=2121&amp;amp;height=1414&amp;amp;face=1252_308_1503_559,https://scrap.kakaocdn.net/dn/kkRQP/hyFeRI4jMZ/5r16n5Frus8hyYzhZQBwe0/img.png?width=1619&amp;amp;height=1005&amp;amp;face=0_0_1619_1005&quot;&gt;&lt;a href=&quot;https://www.fool.com/investing/2020/03/04/the-coronavirus-outbreak-doesnt-change-starbucks-s.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.fool.com/investing/2020/03/04/the-coronavirus-outbreak-doesnt-change-starbucks-s.aspx&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/VErWh/hyFeNGCHRN/SqrpBqeqVNZiBVNZ8t4021/img.jpg?width=2121&amp;amp;height=1414&amp;amp;face=1252_308_1503_559,https://scrap.kakaocdn.net/dn/WpbeS/hyFeQpPvcQ/QM9LnxUGATUVcu2vwQ5SC1/img.jpg?width=2121&amp;amp;height=1414&amp;amp;face=1252_308_1503_559,https://scrap.kakaocdn.net/dn/kkRQP/hyFeRI4jMZ/5r16n5Frus8hyYzhZQBwe0/img.png?width=1619&amp;amp;height=1005&amp;amp;face=0_0_1619_1005');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;The Coronavirus Outbreak Doesn't Change Starbucks' Strong Long-Term Outlook | The Motley Fool&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Starbucks&amp;rsquo; strong brand and growth prospects make it worth a spot in your portfolio.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.fool.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 코로나의 여파는 곧 끝나고, 스타벅스는 장기적으로 크게 성장할 것이라는 또 하나의 기사였네요!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2020.03.05 목요일&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://news.joins.com/article/23723080&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;코로나 영향에 스타벅스, &quot;개인용 텀블러 가져오지 마세요&quot;&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583743903900&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;코로나 영향에 스타벅스, &amp;quot;개인용 텀블러 가져오지 마세요&amp;quot;&quot; data-og-description=&quot;세계적인 커피 체인인 스타벅스가 매장 내에서 개인용 머그잔이나 텀블러의 사용을 일시적으로 중단한다고 발표했다. 4일 CNN 등에 따르면 로잔 윌리엄스 스타벅스 부사장은 이와 관련, 홈페이지에 성명을 내고 &amp;quot;매장 내에서 개인용 컵과 텀블러를 사용할 순 없지만 가지고 온다면 10센트를 할인해주는 기존의 혜택은 계속&quot; data-og-host=&quot;news.joins.com&quot; data-og-source-url=&quot;https://news.joins.com/article/23723080&quot; data-og-url=&quot;https://news.joins.com/article/23723080&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bvWxwz/hyFdqdGfWV/SNKrS1dXJGoyTmkloUvQLK/img.jpg?width=559&amp;amp;height=373&amp;amp;face=269_138_353_230,https://scrap.kakaocdn.net/dn/cBK56f/hyFdBGhdxl/G7MWBkhySEWGH6X3TeQEPK/img.jpg?width=559&amp;amp;height=373&amp;amp;face=269_138_353_230&quot;&gt;&lt;a href=&quot;https://news.joins.com/article/23723080&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.joins.com/article/23723080&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bvWxwz/hyFdqdGfWV/SNKrS1dXJGoyTmkloUvQLK/img.jpg?width=559&amp;amp;height=373&amp;amp;face=269_138_353_230,https://scrap.kakaocdn.net/dn/cBK56f/hyFdBGhdxl/G7MWBkhySEWGH6X3TeQEPK/img.jpg?width=559&amp;amp;height=373&amp;amp;face=269_138_353_230');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코로나 영향에 스타벅스, &quot;개인용 텀블러 가져오지 마세요&quot;&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;세계적인 커피 체인인 스타벅스가 매장 내에서 개인용 머그잔이나 텀블러의 사용을 일시적으로 중단한다고 발표했다. 4일 CNN 등에 따르면 로잔 윌리엄스 스타벅스 부사장은 이와 관련, 홈페이지에 성명을 내고 &quot;매장 내에서 개인용 컵과 텀블러를 사용할 순 없지만 가지고 온다면 10센트를 할인해주는 기존의 혜택은 계속&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;news.joins.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 환경을 생각하는 스타벅스였지만 코로나 영향으로 인해 당분간 친환경보단 건강을 우선시하는 스타벅스가 되었네요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cnbc.com/2020/03/05/starbucks-china-business-is-recovering-from-coronavirus-closures.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Starbucks says China business is recovering, but second-quarter will take hit to sales from coronavirus closures&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583899810308&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Starbucks says China business is recovering, but second-quarter will take hit to sales from coronavirus closures&quot; data-og-description=&quot;Starbucks warned investors on Thursday that store closures in China due to the coronavirus outbreak are likely to result in a 50% decline in its same-store sales in China during its fiscal second quarter.&quot; data-og-host=&quot;www.cnbc.com&quot; data-og-source-url=&quot;https://www.cnbc.com/2020/03/05/starbucks-china-business-is-recovering-from-coronavirus-closures.html&quot; data-og-url=&quot;https://www.cnbc.com/2020/03/05/starbucks-china-business-is-recovering-from-coronavirus-closures.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.cnbc.com/2020/03/05/starbucks-china-business-is-recovering-from-coronavirus-closures.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.cnbc.com/2020/03/05/starbucks-china-business-is-recovering-from-coronavirus-closures.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Starbucks says China business is recovering, but second-quarter will take hit to sales from coronavirus closures&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Starbucks warned investors on Thursday that store closures in China due to the coronavirus outbreak are likely to result in a 50% decline in its same-store sales in China during its fiscal second quarter.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.cnbc.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 중국에서의 매출이 회복되고 있다고는 하지만, 2분기에는 코로나의 여파가 지속될 것 같다고 하네요..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2020.03.06 금요일&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.mk.co.kr/news/world/view/2020/03/237559/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;`코로나쇼크 이 정도 일줄이야`&amp;hellip;스타벅스 中매출 반토막&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583744074772&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;&amp;#96;코로나쇼크 이 정도 일줄이야&amp;#96;&amp;hellip;스타벅스 中매출 반토막 - 매일경제&quot; data-og-description=&quot;&amp;quot;1~3월 中매출 최대 50%정도 깎일 듯&amp;quot; 中새 매장 오픈 내년으로 연기&amp;hellip;한국 매출 노심초사 S&amp;amp;P &amp;quot;스벅 재정여력 충분해, 등급 하향 안 한다&amp;quot;&quot; data-og-host=&quot;www.mk.co.kr&quot; data-og-source-url=&quot;https://www.mk.co.kr/news/world/view/2020/03/237559/&quot; data-og-url=&quot;https://www.mk.co.kr/news/world/view/2020/03/237559/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cFH4ds/hyFdqxXOj4/iMdklyhATslkajGE3vOKm1/img.jpg?width=700&amp;amp;height=472&amp;amp;face=588_172_613_199,https://scrap.kakaocdn.net/dn/daGqV3/hyFdvswACN/mNcKgQpEQkEaZaMGoxOt50/img.jpg?width=700&amp;amp;height=472&amp;amp;face=588_172_613_199,https://scrap.kakaocdn.net/dn/b0r6t5/hyFdBGhtwB/Q7kWsQJ4hjYCb2CvscdsN1/img.jpg?width=700&amp;amp;height=577&amp;amp;face=0_0_700_577&quot;&gt;&lt;a href=&quot;https://www.mk.co.kr/news/world/view/2020/03/237559/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.mk.co.kr/news/world/view/2020/03/237559/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cFH4ds/hyFdqxXOj4/iMdklyhATslkajGE3vOKm1/img.jpg?width=700&amp;amp;height=472&amp;amp;face=588_172_613_199,https://scrap.kakaocdn.net/dn/daGqV3/hyFdvswACN/mNcKgQpEQkEaZaMGoxOt50/img.jpg?width=700&amp;amp;height=472&amp;amp;face=588_172_613_199,https://scrap.kakaocdn.net/dn/b0r6t5/hyFdBGhtwB/Q7kWsQJ4hjYCb2CvscdsN1/img.jpg?width=700&amp;amp;height=577&amp;amp;face=0_0_700_577');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;`코로나쇼크 이 정도 일줄이야`&amp;hellip;스타벅스 中매출 반토막 - 매일경제&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&quot;1~3월 中매출 최대 50%정도 깎일 듯&quot; 中새 매장 오픈 내년으로 연기&amp;hellip;한국 매출 노심초사 S&amp;amp;P &quot;스벅 재정여력 충분해, 등급 하향 안 한다&quot;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.mk.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 중국에서의 1분기 매출이 50% 가량 줄었을 것으로 예상하고 있네요. 하지만 S&amp;amp;P 글로벌은 스타벅스가 충분히 극복할 것으로 생각한다며 신용등급을 하향하지 않았다고 하네요!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://seekingalpha.com/news/3549380-starbucks-begins-to-bounce-back-in-china?utm_source=investing.com&amp;amp;utm_medium=referral&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Starbucks begins to bounce back in China&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583899987123&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Starbucks begins to bounce back in China&quot; data-og-description=&quot;Cowen forecasts Starbucks (NASDAQ:SBUX) will see an improvement in same-store sales in China to -33% Y/Y in March from the -78% recorded in February (which was highly anticipated). The path ahead for&quot; data-og-host=&quot;seekingalpha.com&quot; data-og-source-url=&quot;https://seekingalpha.com/news/3549380-starbucks-begins-to-bounce-back-in-china?utm_source=investing.com&amp;amp;utm_medium=referral&quot; data-og-url=&quot;https://seekingalpha.com/news/3549380-starbucks-begins-to-bounce-back-in-china&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vQgAg/hyFeIelzoy/KTbpAeeaGy8JvsVh2QhBA0/img.png?width=192&amp;amp;height=192&amp;amp;face=0_0_192_192&quot;&gt;&lt;a href=&quot;https://seekingalpha.com/news/3549380-starbucks-begins-to-bounce-back-in-china?utm_source=investing.com&amp;amp;utm_medium=referral&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://seekingalpha.com/news/3549380-starbucks-begins-to-bounce-back-in-china?utm_source=investing.com&amp;amp;utm_medium=referral&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vQgAg/hyFeIelzoy/KTbpAeeaGy8JvsVh2QhBA0/img.png?width=192&amp;amp;height=192&amp;amp;face=0_0_192_192');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Starbucks begins to bounce back in China&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Cowen forecasts Starbucks (NASDAQ:SBUX) will see an improvement in same-store sales in China to -33% Y/Y in March from the -78% recorded in February (which was highly anticipated). The path ahead for&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;seekingalpha.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 스타벅스의 중국 매출이 회복되기 시작했다는 소식이 점차 들려오네요!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2020.03.07 토요일&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.thefirstmedia.net/news/articleView.html?idxno=55395&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;스타벅스, 드라이브 스루 주문 전년 동기간 대비 32% 성장&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583744277071&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;스타벅스, 드라이브 스루 주문 전년 동기간 대비 32% 성장 - 더퍼스트미디어&quot; data-og-description=&quot;[더퍼스트 임한희 기자] 스타벅스의 드라이브 스루 매장을 방문해 차량에서 주문하는 건수가 지난해 대비 큰 폭으로 늘어나며 언택트 소비 문화가 점차 확산되고 있다.스타벅스커피 코리아(대표이사 송호섭)는 올...&quot; data-og-host=&quot;www.thefirstmedia.net&quot; data-og-source-url=&quot;https://www.thefirstmedia.net/news/articleView.html?idxno=55395&quot; data-og-url=&quot;http://www.thefirstmedia.net/news/articleView.html?idxno=55395&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bDThsC/hyFdnab1bQ/m64pxv4KiVETBW53nT3oQK/img.png?width=600&amp;amp;height=433&amp;amp;face=235_248_377_357,https://scrap.kakaocdn.net/dn/bWjuXG/hyFdAgitvw/L2knscDFKSC1BcDSoK647k/img.png?width=600&amp;amp;height=433&amp;amp;face=235_248_377_357,https://scrap.kakaocdn.net/dn/cogGlL/hyFdtnVvKf/QzTk2zCIQJhDitdKU3U3y1/img.png?width=600&amp;amp;height=401&amp;amp;face=90_206_112_230&quot;&gt;&lt;a href=&quot;https://www.thefirstmedia.net/news/articleView.html?idxno=55395&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.thefirstmedia.net/news/articleView.html?idxno=55395&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bDThsC/hyFdnab1bQ/m64pxv4KiVETBW53nT3oQK/img.png?width=600&amp;amp;height=433&amp;amp;face=235_248_377_357,https://scrap.kakaocdn.net/dn/bWjuXG/hyFdAgitvw/L2knscDFKSC1BcDSoK647k/img.png?width=600&amp;amp;height=433&amp;amp;face=235_248_377_357,https://scrap.kakaocdn.net/dn/cogGlL/hyFdtnVvKf/QzTk2zCIQJhDitdKU3U3y1/img.png?width=600&amp;amp;height=401&amp;amp;face=90_206_112_230');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;스타벅스, 드라이브 스루 주문 전년 동기간 대비 32% 성장 - 더퍼스트미디어&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;[더퍼스트 임한희 기자] 스타벅스의 드라이브 스루 매장을 방문해 차량에서 주문하는 건수가 지난해 대비 큰 폭으로 늘어나며 언택트 소비 문화가 점차 확산되고 있다.스타벅스커피 코리아(대표이사 송호섭)는 올...&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.thefirstmedia.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;: 언택트 열풍이 불면서 스타벅스의 드라이브 스루 매출에도 상당히 기여한 모양이네요!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666; letter-spacing: 0px;&quot;&gt;3월 첫째 주 주가 동향&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/X3pAoac.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;: 화요일까지의 반등을 이어가지 못하고 결국 이번 주도 하락세로 마무리 한 한 주였습니다. 결국 2주 연속 70달러 선으로 마감했네요..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;다음 주의 스타벅스는 또 어떤 모습일지, 다음 주에 지켜봐 주시길 부탁드립니다!&lt;/span&gt;&lt;/p&gt;</description>
      <category>경제/주간동향</category>
      <category>Nasdaq</category>
      <category>sbux</category>
      <category>스타벅스</category>
      <category>주식</category>
      <author>jayviii</author>
      <guid isPermaLink="true">https://jayviii.tistory.com/45</guid>
      <comments>https://jayviii.tistory.com/45#entry45comment</comments>
      <pubDate>Sun, 8 Mar 2020 17:56:59 +0900</pubDate>
    </item>
  </channel>
</rss>