1,创建SpringBoot项目
创建Maven
编辑pom.xml文件
说明新项目只需要复制 除了坐标之外的配置文件即可
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jt</groupId>
<artifactId>springboot_demo3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_demo3</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.4.1</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--支持热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!--引入插件lombok 自动的set/get/构造方法插件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<mainClass>com.jt.springboot_demo3.SpringbootDemo3Application</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
- 环境分割
- 需求
情景说明: 如果小李经常往返于 公司和项目基地,其中的服务器端口号 经常的变化.
案例:
1. 开发 dev: 8080端口
2. 生产 prod: 9000端口
问题: 由于配置文件数量众多,如果每次修改则带来了诸多不便.所以可 以采用环境分割
- 编辑YML文件
编辑配置文件时,注意缩进
#指定环境的默认配置
spring:
profiles:
active: dev
---
#为环境定义名称
server:
port: 8080
spring:
config:
activate:
on-profile: dev
---
#采用---的方式实现环境分割
server:
port: 9000
spring:
config:
activate:
on-profile: prod
- 热部署
- 需求
在开发阶段 需要频繁的修改配置文件/代码. 需求要求将代码保存之后, 程序自动的编译,并且完成tomcat服务的重启. 个别IDEA版本可能不生 效.
- 导入jar包
- IDEA环境配置
让热部署有效
快捷键: ctrl + alt + shift + /
勾选自动重启
启动类
package com.jt.springboot_demo3;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootDemo3Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo3Application.class, args);
}
}
DemoUser(常用注解)
package com.jt.springboot_demo3.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.stereotype.Component;
import java.io.Serializable;
/**
* 实体对象要求:
* 1,类名一般与表名关联
* 2,属性名称一般与字段关联
* 3,pojo中的属性类型必须为引用类型(包装类型)
* 4,实体对象必须有get/set 方法
* 5,一般实体对象需要实现序列化接口(规则)
* 原因:数据可能跨平台(跨服务器)传输,必须序列化
*/
@Data //动态生成get/set/toString/equals等方法
@Accessors(chain = true) //开启链式加载,重写set方法
@NoArgsConstructor //无参构造
@AllArgsConstructor //有参构造
public class DemoUser implements Serializable {
private Integer id;
private String name;
private Integer age;
private String sex;
// //this 运行期有效 代表当前对象
// public DemoUser setId(Integer id){
// this.id = id;
// return this;
// }
//方法测试
public void add(){
DemoUser User = new DemoUser();
User.setId(100)
.setName("嬴政")
.setAge(3000)
.setSex("男");
}
}
格式: