特别注意
现在使用的项目JDK和maven构建时的JDK版本必须相同。
pom.xml
jdk-1.8
true
1.8
1.8
1.8
1.8
在开发调试完成之后,可以将应用打成JAR包的形式。
clean------>package------>java jar XXX.jar
注意文件编码
1.配置文件书写格式
2.问题:yml和yaml没有自动提示功能
原因及解决方案:项目未将其识别为配置文件,需要手动添加
3.配置文件优先级
application.properties>application.yml>application.ymal
通常,优先选择yml文件作为配置文件。
yaml语法规则
1.大小写敏感
2.属性层级关系使用多行描述,每行结尾使用冒号结束
3.使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
4.空格的个数并不重要,只要保证同层级的左侧对齐即可。
5.属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
6.#表示注释
7.数组数据在数据书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔
核心:数据前面要加空格与冒号隔开
方式一
方式二
方式三(重点)
项目结构
实体类Enterprise.java
@Component
@ConfigurationProperties(prefix = "enterprise")
public class Enterprise {
private String name;
private Integer age;
private String tel;
private String[] subject;
}
bookController.java
@RestController
@RequestMapping("/books")
public class bookController {
@Autowired
private Enterprise enterprise;
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("idx-->"+id);
System.out.println("===========");
System.out.println(enterprise.getAge());
System.out.println(enterprise.toString());
return "hello";
}
}
yml文件多环境启动
#设置启用的环境
spring:
profiles:
active: pro
---
spring:
profiles: pro
server:
port: 80
---
spring:
profiles: dev
server:
port: 81
---
spring:
profiles: test
server:
port: 82
properties文件多环境启动
ApplicationTests.java
@SpringBootTest
class DemoApplicationTests {
@Autowired
private BookService bookService;
@Test
void contextLoads() {
bookService.save();
}
}
文件目录结构
application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
username: root
password: root
# type: com.alibaba.druid.pool.DruidDataSource
BookDao.java
@Mapper
public interface BookDao {
@Select("select * from tbl_book where id=#{id}")
public Book getById(Integer id);
}
Book.java
public class Book {
private Integer id;
private String type;
private String name;
private String description;
}
SpringbootMybatisApplicationTests
@SpringBootTest
class SpringbootMybatisApplicationTests {
@Autowired
private BookDao bookDao;
@Test
void contextLoads() {
System.out.println(bookDao.getById(1));
}
}
实践中学习。。。