SprintBoot入门
本篇文章所设计的代码及一个发红包的demo代码:
https://github.com/Ezra8715/SpringBoot.git
1、第一个SpringBoot程序
创建第一个SpringBoot项目
选择create new project:
点击next:
然后点击next,在点击Finish。创建成功。
SpringBoot项目的启动方式
第一种:点击main.java目录下面的LukeyMoneyApplication
启动。出现下图就是启动成功。
第二种:到项目根目录,使用命令行:mvn spring-boot:run
启动,效果图如下:
第三种:移动到项目根目录下面,执行命令mvn clean package
对项目进行打包,出现下图则打包完成
完成之后会多出来一个文件夹target
:
然后使用命令java -jar target/lukeymoney-0.0.1-SNAPSHOT.jar
然后浏览器访问localhost:8080
即可。
2、项目属性配置问题
第一种properties配置文件的方式
打开src/resources/application.properties文件,修改默认端口和请context-path:
然后在重启项目,浏览器访问localhost:8081/luckymoney/hello:
使用yml配置文件方式
在src/resources文件夹下面新建application.yml文件,然后输入下面以下内容:
然后重启项目,浏览器访问localhost:8081/luckymoney/hello。
使用这种方式的好处就是会让我们的配置更加的简洁,相同的折叠了起来。同时更加的方便。
属性配置的两种方式:
1. 使用@Value()注解
第一步:application.yml中最后加上这一行:
helloWorld: Hello World
第二步:新建HelloWorldController,然后在里面加上
package com.zxwang.lukeymoney;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
/**
* @author zxin2
* @date 2020-02-06
*/
@RestController
public class HelloController {
@Value("${helloWorld}")
private String helloWorld;
@GetMapping("/hello")
public String hello() {
return helloWorld;
}
}
第三步:重启项目,浏览器访问localhost:8081/luckymoney/hello,效果如下:
2. 使用对象
第一步:在application.yml最后加上:
第二步:新建一个LimitConfig类,内容如下:
package com.zxwang.lukeymoney;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
/**
* @author zxin2
* @date 2020-02-07
*/
@Component
@ConfigurationProperties(prefix = "limit")
public class LimitConfig {
private BigDecimal minMoney;
private BigDecimal maxMoney;
private String description;
public BigDecimal getMinMoney() {
return minMoney;
}
public void setMinMoney(BigDecimal minMoney) {
this.minMoney = minMoney;
}
public BigDecimal getMaxMoney() {
return maxMoney;
}
public void setMaxMoney(BigDecimal maxMoney) {
this.maxMoney = maxMoney;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
第三步:在HelloController里面加上:
@Autowired
private LimitConfig limitConfig;
@GetMapping("/say")
public String say() {
return "说明:" + limitConfig.getDescription();
}
第四步:重启项目,浏览器输入localhost:8081/luckymoney/say
生产环境和开发环境
将src/resources下面的application.yml复制两份到同目录下,重命名为:application-dev.yml和application-prod.yml。然后清空application.yml文件里面的内容,重新在application.yml里面添加如下内容:
spring:
profiles:
active: dev
上面的配置的目的是默认是使用application-dev.yml文件,然后项目重新打包,运行。要使用application-prod.yml配置文件,则使用
java -jar -Dspring.profiles.active=prod target/ukeymoney-0.0.1-SNAPSHOT.jar
启动项目就会使用application-prod.yml配置文件了。
3、Controller的使用
注:@Controller + @ResponseBody = @RestController。
4、事务
数据库事务,是指作为单个逻辑工作单元执行的一系列操作,要么完全的执行,要么完全地不执行。只需要在对应方法上加上@Transactional注解即可,注意数据的引擎,是否支持事务.