Spring Boot
Spring Boot + JPA + thymeleaf
MySQL
UISemantic UI
IDEA
Maven 3
JDK 8
Axure RP 8
Spring Boot
Semantic UI
1
1.1
As a (role of user), I want (some feature) so that (some business value).
() () ()
3
6
10
2
2.1
2.2
Semantic UI
Semantic UI
WebStorm
2.3
Markdown
typo.css
animate.css
prism
Tocbot
waypoints
jquery.scrollTo
qrcode.js
3
IDEA https://www.jetbrains.com/idea/
3.1
1Spring Boot
web
Thymeleaf
JPA
MySQL
Aspects
DevTools
2application.yml
thymeleaf 3
pom.xml:
3.0.2.RELEASE
2.1.1
application.yml:
spring:
thymeleaf:
mode: HTML
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?
useUnicode=true&characterEncoding=utf-8
username: root
password: root
jpa:
hibernate:
ddl-auto: update
show-sql: true
application.yml:
logging:
level:
root: info
com.imcoding: debug
file: log/imcoding.log
logback-spring.xml
${FILE_LOG_PATTERN}
${LOG_FILE}
${LOG_FILE}.%d{yyyy-MM-
dd}.%i
30
10MB
application-dev.yml
application-pro.yml
3.2
1
404
500
error
2
@ControllerAdvice
public class ControllerExceptionHandler {
private final Logger logger =
LoggerFactory.getLogger(ControllerExceptionHandler.class);
/**
*
* @param request
* @param e
* @return
*/
@ExceptionHandler({Exception.class})
public ModelAndView handleException(HttpServletRequest request,
Exception e) throws Exception {
logger.error("Request URL : {} , Exception : {}",
request.getRequestURL(), e);
if (AnnotationUtils.findAnnotation(e.getClass(),
ResponseStatus.class) != null) {
throw e;
}
ModelAndView mav = new ModelAndView();
mav.addObject("url", request.getRequestURL());
mav.addObject("exception", e);
mav.setViewName("error/error");
return mav;
}
}