Spring boot的学习记录
一、安装配置环境
预想善其事必先利其器。编程实践最经常做的事情就是配置环境。(正解:下载idea)
二、HelloWorld简单实践
链接:https://baijiahao.baidu.com/s?id=1608301601154521261&wfr=spider&for=
三、SpringBoot项目的结构
一般结构大概为:
根目录main
- 工程启动类(Application.java)
- 实体类(domain)
- 数据访问层(Dao)
- 数据服务层(Service)
- 数据服务接口的实现(servicelmpl)
- 前端控制器(Controller)
- 工具类(utils)
- 常量接口类(constant)
- 配置信息类(config)
资源文件resources
- 静态文件(static)
- 模板相关页面(templates)
四、日志的使用(SLF4J)
导入slf4j的jar包,直接调用日志抽象层的方法
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HelloController {
Logger logger = LoggerFactory.getLogger(HelloController.class);
public void say() {
logger.info("hello");
}
}
1、页面跳转
活用controller编写所在界面想显示的内容
@RequestMapping("/hello")
2、@Value注释
减少使用getter/setter方法读取配置文件
@Value("${person.age}")
private String age;
3、@RequestMapping
是@ResponseBody和@Controller的集合,默认返回数据,而不会请求到页面。
链接:https://www.jianshu.com/p/bd7a821515ec
4、@ModelAttribute
运用在参数上,会将客户端传递过来的参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用;
运用在方法上,会在每一个@RequestMapping标注的方法前执行,如果有返回值,则自动将该返回值加入到ModelMap中;
五、web开发
Spring boot框架中前端使用的是thymeleaf\vue.js\bootstrap\h5
现在用的最多的是thymeleaf,就用thymeleaf再写一个hello的网页demo
前端html(放在templates文件夹中可自动渲染)
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<h1>Success</h1>
<p th:text="'Hello!,'+${name}+'!'">3333</p>
</body>
</html>
控制器controller
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@Controller
public class HelloController {
public String hello(Model model){
String name = "123";
model.addAttribute("name",name);
return "hello";
}
}
遇到的问题
1、idea中遇到的The port may already be in use or the connector may be misconfigured问题(使用了好像略有问题,可以打开后台直接手动找到删掉也成)
解决方法:
打开cmd命令窗口 输入如下指令查看所有端口和PID
netstat -ano
找到对应的端口对应的PID 输入指令找到对应的进程
tasklist | findstr "7676"
杀掉该进程 再次启动就OK
taskkill /f /t /im java.exe
2、Spring Boot Annotion processor not found in classpath
解决办法:在pom中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
3、Re-run Spring Boot Configuration Annotation Processor to update generated metadata
解释:该提示,不影响代码执行。只是提醒用户,进行必要的重新编译。再当文件进行了有效的更新时,该提示也会消失。
引用&参考链接:
问题1:https://blog.csdn.net/q343509740/article/details/80821409
问题2、3:https://blog.csdn.net/daihuimaozideren/article/details/78728499