注意使用的版本pom文件中java --> 1.8、 springboot --> 2.5.0
运行程序--找引导类
换技术、加技术--加starter
《1、端口号配置》
《2、将目录文件添加到配置文件识别中》
配置文件加载顺序:application.properties > application.yml > application.yaml
《1、语法格式》
语法规则:------------一般根据他的语法提示就好了-----------
缩进空格多少表示层级关系;数据前面要有空格;
logging: level: root: warn
数组数据
《2、数据读取三方式》
1、直接读取----直接定义Value及变量
- @Value("${server.port}")
- private int port;
-
- @Value("${enterprise.subject[1]}")
- private String subject__01;
2、封装对象读取----定义对象获取数据
将所有数据都加载到对象中,使用属性来获取数据
- @Autowired
- private Environment environment; //使用独立的对象。将所有数据加载进去,直接使用对象来读取具体的数据
-
- @GetMapping("{id}")
- public String getId(@PathVariable Integer id) {
- System.out.println("id---->" + id);
-
- System.out.println(environment.getProperty("lession"));
- System.out.println(environment.getProperty("server.port"));
- System.out.println(environment.getProperty("enterprise.subject[2]"));
- return "{'module':'kaonijiwa'}";
- }
3、封装实体类读取----定义实体类获取数据 --将数据转换为数据对象
针对数据定义实体类
- @Component//加载为bean让spring识别
- @ConfigurationProperties(prefix = "enterprise") //从配置文件中获取属性 使之与本实体类属性对应
- public class Enterprise {
- private String name;
- private Integer age;
- private String tel;
- private String[] subject;
-
- //接下来还要setter & getter
直接自动装配 获取实体类对象
- @Autowired
- private Enterprise enterprise;
对象打印即可获取数据
注意:
1、package之前先从clean!
2、设置中encoding全部设置为utf-8
《1、yaml配置》
- #三个横线 --- 代表一个文件
- #设置启用的环境
- spring:
- profiles:
- active: test
- ---
-
- #开发
- spring:
- profiles: dev
- server:
- port: 90
-
- ---
- #生产
- spring:
- profiles: pro
- server:
- port: 91
-
- ---
-
- #测试
- spring:
- profiles: test
- server:
- port: 92
文件配置(麻烦--了解)
《2、多环境命令行启动参数设置》
按照指定环境启动 开发--dev 、 生产--pro 、 测试--test
- 格式:
- java - jar jar包名 --spring.profiles.active=启动参数
- 举例:
- java -jar /Users/wangjia/Desktop/CS/Spring/SpringBoot/target/springboot_01-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
指定端口号: 跟在后面写就行了
--server.port=xxx
命令行优先级高于配置文件。
所以可以使用命令行设置参数临时覆盖配置参数。
《3、多环境开发兼容问题》
maven、SpringBoot均要设置多环境。以maven为主,SpringBoot配置为辅。
3、clean -> package
对于设置运行器、加载环境,每一次都是一样的,只有环境名称不一样,所以直接使用
@SpringBootTest代替二者。
- @SpringBootTest //= 运行器@RunWith() + 加载启动类
- //此处没有再设置启动类 是因为 测试类在启动类SpringBootApplication.class的包或者子包内
- class Springboot01ApplicationTests {
- @Autowired
- private BookService bookService;//自动装配测试类对象
- @Test
- public void save(){
- bookService.save();
- }
- }
- //其他的都不需要设置了
前置知识:
----在创建新模块或项目要勾选SQL、Mybatis
《1、写实体类》
domain.Book
- public class Book {
- private Integer id;
- private String name;
- private String type;
-
- public String toString() {}
- getter & setter
-
- }
《2、写数据层注解开发》
没有实体对象,在采用自动代理时要使用@Mapper标示--定义数据层接口
dao.XXXDao
- @Mapper //只有一个接口,在测试时没有对象。采用了自动代理,要标注一下!
- public interface BookDao {
- @Select("select * from tbl_book where id = #{id}")
- public Book getById(Integer id);
- }
《3、写数据库登录信息配置文件》
在文件application.yml中写配置
- spring:
- datasource:
- driver-class-name: com.mysql.jdbc.Driver
- url: jdbc:mysql://localhost:3306/ssm_db
- username: root
- password: wbj731290
- type: com.alibaba.druid.pool.DruidDataSource
- #指定druid数据源 同时记得pom要添加坐标依赖
基本点:
--config文件夹下所有配置类都不需要了
--Dao层自动代理,要添加@Mapper
--数据库登录信息要写在yml文件中
--由于是整合了前后端 web 要选、Mybatis要选、mysql要选