230525 SpringBoot

Myung A Lee·2023년 5월 25일
0

SpringBoot

목록 보기
1/8
post-thumbnail

SPRING BOOT

Spring Boot란

  • 스프링 부트는 Spring을 보다 편리하게 사용할 수 있도록 하기 위한 도구로 복잡했던 xml 설정 상당 부분이 사라지거나 JAVA 코드로 작성하도록 변경 되었다.

Spring Boot의 특징

  • Rest API를 작성하기에 적합하며 JSON 통신을 하기 위한 라이브러리가 불필요하기 때문에 AJAX 사용이 편리하다.
  • 기본적으로는 JSP를 지원하지 않기 때문에 사용할려면 추가 설정이 필요하다.
  • 내장 TOMCAT을 사용할 수 있다. 하지만 많은 용량을 처리할 수 없으므로 테스트 용도가 아니라면 꼭 서버를 설치해야만 한다.
  • 작성한 웹 서비스를 독립된 자바 프로그램(JAR)으로 만들 수 있다.

Spring 과 Spring Boot 차이

  • 설정
    XML / JAVA 파일
  • JSP 지원 여부
    지원 O / 지원 X ( TimeLeaf를 지원하며 JSP를 사용하려면 추가적인 설정이 필요하다. )
  • 사용처
    정부, 공기업 / 신규 프로젝트
  • 지원
    Spring I.O에서 지원을 줄이고 있음 / 차세대 FrameWork로 부상 중

Spring Boot Project 생성 전 설정

Spring 라이브러리를 겹치지 않게 하기 위해서 기존 Spring과 다른 경로가 필요함.

  • 기본적인 repository 위치 : C:\Users\사용자.m2
  • setting.xml 경로 수정하기
  • Window > Perferences > Maven > User Settings 에서 해당 setting.xml로 설정 지정해 주기.

Spring Boot의 구조

Application.java

  • @SpringBootApplication 을 통해 Spring의 기본적인 Bean 등록을 자동으로 해 준다.

@SpringBootApplication
@ComponentScan, @EnableAutoConfiguration 으로 구성되어 있으며 @ComponentScan은 @component, @Repository, @Controller, @Service, @RestController 등의 어노테이션을 스캔하여 Bean으로 등록해주는 어노테이션이다.

  • main 메서드가 존재해 외장 서버 없이 자체 실행이 가능하게 해주는 클래스 이다.

application.properties

  • 기본 설정 파일로 다음과 같은 설정이 가능하다.
# log level 
logging.level.root = info


# Encoding UTF-8
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=TRUE
server.servlet.encoding.force=TRUE

# server port
server.port=80

# view page path
spring.mvc.view.prefix=/views/
spring.mvc.view.suffix=.jsp

# db info
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:1521/mydb
spring.datasource.username=web_user
spring.datasource.password=pass

# mapper location
mybatis.mapper-locations=mapper/*_mapper.xml

# type aliase
mybatis.type-aliases-package=kr.co.gudi.dto



/main/webapp

  • application.properties 파일에 spring.mvc.view.prefix=/views/
    spring.mvc.view.suffix=.jsp 와 같이 설정하였기 때문에 기본 지정인 webapp 아래에 views 디렉토리를 생성하여 jsp 파일을 넣어두면 기존 Spring 처럼 String 타입의 return문을 사용하여 해당 jsp 파일로 보낼 수 있다.

pom.xml

  • 라이브러리를 추가해 주는 곳으로 프로젝트 생성시 선택한 라이브러리 들이 ㅅ자동으로 등록되는 위치다. 쓰지 않는 라이브러리를 추가하면 오류가 나니 주의 해야 한다.

    pom.xml

<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
  <dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>jstl</artifactId>
  </dependency>
	
	
	<!-- jasper -->
	      <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->
  <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-jasper</artifactId>
      <version>9.0.71</version><!-- 톰캣 버전에 맞게(dynamic module 4.0 부터는 tomcat 9.0 이상 사용 해야 한다.) -->
  </dependency>
  
  <!-- SQL Logger -->
  <dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    <version>1.16</version>
</dependency>


<!-- 프로젝트 생성시 추가한 라이브러리 -->

`
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.3.1

	<dependency>
		<groupId>org.mariadb.jdbc</groupId>
		<artifactId>mariadb-java-client</artifactId>
		<scope>runtime</scope>
	</dependency>

0개의 댓글