티스토리 뷰

 

http://millky.com/@origoni/post/1100

 

[블로그개발_01] STS로 Spring Boot 웹 프로젝트 시작하기

밀키 스프링 블로그를 오픈소스화 하기로 하였다. 지금 밀키는 크고(?) 너저분 해서 블로그의 기본기능만 심플하게 옮길 생각이다. 개발 툴을 뭘로 할까 고민을 하다가 집에있는 컴터에서도 개발을 해야 하고 하니 이클립스로 진행을 하려 한다.요즘 회사에서는 IDEA 를 사용하고 있지만 주변을 둘러보면 아직까지는 이클립...

millky.com

 

1. New - Spring boot - Spring Stater Project 로 프로젝트 생성

- 기본정보

Spring boot 2.1.5

gradle buildship 2.x

(PRJ)name 과 artifact (name) 을 맞춰야 함. 안맞으면 오류로 종료

package = war

- dependencies

mysql

Spring data jpa

Spring web

Java 1.8

 

# 참고 : 모 프로젝트 생성시의 옵션선택 Full URL

https://start.spring.io/starter.zip?name=200201korona&groupId=com.cidog.commu&artifactId=200201korona&version=1&description=200201+korona.ai&packageName=com.dogcowking.korona&type=maven-project&packaging=war&javaVersion=1.8&language=java&bootVersion=2.2.4.RELEASE&dependencies=mysql&dependencies=jdbc&dependencies=data-jpa&dependencies=web

 

 

2. application.properties 설정

위치 : 프로젝트/src/main/resources/application.properties

 

spring.datasource.url=jdbc:mysql://localhost:3306/dbName
spring.datasource.username=root
spring.datasource.password=****
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.mvc.view.prefix: /WEB-INF/views/
spring.mvc.view.suffix: .jsp

 

서버 포트 바꾸고 싶다면

server.port = 8080

- DB 속성 추가 안해주면 다음 오류 발생함

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

 https://devtimothy.tistory.com/100

 

 

 

3. html 은

src/main/resources/static 에 넣으면 작동

 

4. DAO 추가 및 엔티티 추가

@Repository
public interface KtcDao extends JpaRepository<KtCate, Long> {
...
}
@Entity
public class KtCate {

	@Id
	@GeneratedValue
	public Long id;
    
    ...
    
}

 

5. Application 클래스에 다음 어노테이션 추가

@SpringBootApplication(scanBasePackages={"Bean있는패키지"}) 
@EnableJpaRepositories(basePackages = "DAO패키지") 
@EntityScan("엔티티패키지")  

 

[ JSP View 연결 ]

 

6. Controller 추가 

@Controller
public class KtController {
	
	@Autowired
	KtcDao ktcDao;
	
	@RequestMapping("/hello")
	public String hello(Model model, @RequestParam(value="name", defaultValue="Unknown", required=false) String name) {
		
		String s = "Hello, "+name + " ! " ;
		model.addAttribute("str", s);
		return "/hello";

	}

 

 

7. JSP 추가

/프로젝트/src/main/webapp/WEB-INF/views 에 

JSP 추가 (폴더 없으면 생성)

의존성 다음 추가

compile('org.apache.tomcat.embed:tomcat-embed-jasper') 
compile('javax.servlet:jstl:1.2')

(  + refresh)

 

* JSP 못 읽는 경우 

https://dogcowking.tistory.com/326

 

Spring boot jsp 못 읽는 경우

* 개요 - JSP 적용시 참고한 블로그 https://jsijsi99.tistory.com/10 Controller 에서 jsp 읽도록 설정했지만 JSP 읽어오지 못하는 경우 - LOG 에 다음 오류 보이며 (WARN 레벨이므로 직접 원인은 아님) nio-8080..

dogcowking.tistory.com

 

 

참고 : JSP 는 Spring boot 1.3.5 이후 JAR 로 지원하지 않음

 

다른 View Template Engine (Velocity Thymeleaf3, Freemarker)

https://supawer0728.github.io/2018/03/14/Mustache/

 

 

8. Front-end 관련 의존성 추가

jquery, bootstrap, mdbootstrap

compile("org.webjars:jquery:3.4.1")
compile("org.webjars:bootstrap:4.3.1")
compile("org.webjars.bower:origoni-startbootstrap-clean-blog:1.0.3")

 

사용 

<script src="/webjars/jquery/3.4.1/jquery.min.js"></script>
<script src="/webjars/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<link href="/webjars/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
  <%
  	String mdb = baseUrl+"/webjars/mdbootstrap-bootstrap-material-design/4.7.4";
  %>
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css">
  <!-- Bootstrap core CSS -->
  <link href="<%=mdb %>/css/bootstrap.min.css" rel="stylesheet">
  <!-- Material Design Bootstrap -->
  <link href="<%=mdb %>/css/mdb.min.css" rel="stylesheet">
    <!-- Bootstrap tooltips -->
  <script type="text/javascript" src="<%=mdb %>/js/popper.min.js"></script>
  <!-- Bootstrap core JavaScript -->
  <script type="text/javascript" src="<%=mdb %>/js/bootstrap.min.js"></script>
  <!-- MDB core JavaScript -->
  <script type="text/javascript" src="<%=mdb %>/js/mdb.min.js"></script>

 

 

구동 했는데  Whitelabel Error Page 메시지 보이며 404 오류 나온다면...

https://dogcowking.tistory.com/326

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함