栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot-01

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot-01

前缀看狂老师的视频

可以通过在官网上创建项目,也可以使用idea创建,创建时如图https://start.spring.io/

啥都不用修改,直接就可以运行该程序,端口号为8080

可以通过在application.properties中修改端口号 server.port=8081 就可以修改端口号了

可以通过新建 banner.txt 文件来修改生成时产生的图片,要确认文件走下方有一个小标志,如图

Ascii艺术字实现个性化Spring Boot启动banner图案,轻松修改更换banner.txt文件内容,收集了丰富的banner艺术字和图,并且支持中文banner下载,让你的banner好玩儿更有意思。-bootschool.net

 所有文件都要建立在主运行程序同级目录下

 直接运行程序就可以打开一个页面,也可以添加一个controller来运行

@RestController
@RequestMapping("/hello")
public class helloController {


    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}

第一个程序测试完成,创建极其简单,运行极其方便

原理没听懂,不是没听懂,压根就听不下去了呀,等以后如果渐渐的了解了再回头接着看

congif配置

yaml,spring官方推荐的配置文件格式,peoperties文件只能储存键值对

yaml里可以定义普通的键值对,对象,数组,要注意空格,要求十分高,可以注入到配置类中

# 普通的key-value
name: chend
# 对象
student:
  name: chend
  age: 3
#行内写法
students: {name: cd,age: 3}

#数组
pets:
  - cat
  - dog
  - pig
pet: [cat,dog,pig]

yaml可以直接给实体类赋值,例如我们写一个Dog类

@Component        //注册bean
public class Dog {

    @Value("旺财")
    private String name;
    @Value("3")
    private Integer age;
}

可以直接通过@Value()注解进行赋值,在test中 自动装配 上就可以取到这个值

@SpringBootTest
class Springboot02ConfigApplicationTests {
	@Autowired
	private Dog dog;
	@Test
	void contextLoads() {
		System.out.println(dog);
	}
}

通过yaml文件储存数据,需要yaml文件中数据的格式和类的属性一致,如图

 yaml文件

person:
  name: qinjiang
  age: 3
  happy: false
  birth: 2000/01/01
  maps: {k1: v1,k2: v2}
  lists:
    - code
    - girl
    - music
  dog:
    name: 旺财
    age: 1

Person

@Data
@AllArgsConstructor
@NoArgsConstructor
@Component //注册bean,注册之后才能自动装配
@ConfigurationProperties(prefix = "person")    //通过perfix指向yaml对应的文件
public class Person {
    private String name;
    private Integer age;
    private Boolean happy;
    private Date birth;
    private Map maps;
    private List lists;
    private Dog dog;
} 

然后测试可以正常打印Person的属性

对于 @ConfigurationProperties()注解,需要导入pom依赖


   org.springframework.boot
   spring-boot-configuration-processor
   true

其他方式都挺复杂的,yaml挺简单,而且方法很多

jsr303数据校验

在实体类上使用 @Validated 进行数据校验,在属性上添加校验的模式

额,我在使用@Email注解时,显示不能用,不知道为啥暂时

解决@Email爆红,导入spring-boot-starter-validation依赖


   org.springframework.boot
   spring-boot-starter-validation
常见的参数

@NotNull(message="名字不能为空")private String userName;@Max(value=120,message="年龄最大不能查过120")private int age;@Email(message="邮箱格式错误")private String email;
空检查@Null       验证对象是否为null@NotNull    验证对象是否不为null, 无法查检长度为0的字符串@NotBlank   检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,
            且会去掉前后空格.@NotEmpty   检查约束元素是否为NULL或者是EMPTY.    Booelan检查@AssertTrue     验证 Boolean 对象是否为 true  @AssertFalse    验证 Boolean 对象是否为 false      长度检查@Size(min=, max=) 验证对象(Array,Collection,Map,String)
                  长度是否在给定的范围之内  @Length(min=, max=) string is between min and max included.
日期检查@Past       验证 Date 和 Calendar 对象是否在当前时间之前  @Future     验证 Date 和 Calendar 对象是否在当前时间之后  @Pattern    验证 String 对象是否符合正则表达式的规

小样

多配置文件及路径:springboot可以写好几个配置文件的位置

 有这4种,优先级如图

多环境配置:spring可以使用properties进行,也可以使用yaml进行切换

使用properties进行配置环境

 分别给不同的配置文件设置不同的端口,默认是8080,通过在主配置文件中使用               spring.profiles.active= 文件名后缀 的方式修改使用的配置文件,如上图

使用yaml进行环境配置,配置如下,默认为最上面的版本

server:
  port: 8080
spring:
  profiles:
    active: dev      #选择激活哪个版本
---                 #分割线
server:
  port: 8081
spring:
  config:
    activate:
      on-profile: dev  #版本名称
---
server:
  port: 8082
spring:
  config:
    activate:
      on-profile: test  #版本名称

原理再次跳过

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号