1、理解springboot原理
2、掌握springboot入门程序
3、掌握springboot配置
4、掌握多环境切换
5、定义属性
6、随机数
一、springboot入门学习
1、介绍
是一个快速开发的框架,能够帮助我们快速整合第三方框架(主要介于maven,依赖关系),完全采用注解化,简化XML配置,内置嵌入HTTP服务器(tomcat jetty)默认嵌入tomcat服务器,最终以java应用程序进行执行
2、好处
1)简化maven 只需要一两个依赖配置就可以实现Spring+SpringMVC框架
2)自动配置Spring,快速构建项目 省去配置文件
3)零配置,注解化,约定大于配置,简化XML操作
4)对主流开发框架的无配置继承
3、springboot环境要求
1)JDK环境必须是1.8以上
2)使用Maven进行开发
4、springboot基础开发流程
1)创建maven项目
2)引入Springboot 的pom依赖
父模块:spring-boot-starter-parent
启动依赖:spring-boot-starter-web
测试依赖:spring-boot-starter-test
热部署依赖:sring-boot-devtools
SpringBoot的pom依赖.txt
3)创建SpringBoot 入口函数
注意:
入口函数层级较高,要在entity上一级
入口函数注解@SpringBootApplication(有它才是入口函数)
//min+alt+/选第二个
//主入口函数 用于启动SpringBoot这辆车
启动嵌入的tomcat组建,并且初始化Spring环境和组件
SpringApplication.run(App.class,args);
4)创建collection控制器
创建控制器输出内容到页面展示效果
页面
/**原来的SpringMVC控制器的注解@Controller
方法上,向页面输出json字符串的注解
@ResponseBody 输出内容转JSON
@RestController ===@Controller + @ResponseBody
lauio获取值返回json
*/
//@RequestMapping 映射地址
@RequestMapping("/hello")
public String hello(){
return"大家好,我是过期要糊主播李胖威!!!!";
}
5)运行项目
1、邮件Run As>Spring Boot App
2、在Boot Dashboard 仪表板上
注意:
1、默认端口号8080
2、默认访问地址没有项目名也就是没有地址
6)打成jar包发布项目
1、在pom.xml文件中添加一个SpringBoot插件依赖
2、打包操作
注意在打包之前需要先确定项目的java环境变量是jdl而非jre
打包命令: clean package
邮件项目——run ——maven build ——golas 输入 clean package
3、cmd 运行jar包: 运行命令 java -jar demo.jar
在cmd中ctrl+c 关闭cmd窗口
4、cmd修改端口
cmd修改java -jar demo.jar --server.port=4399
5、SSM
1)配置麻烦
2)jar太多
6、java:面向对象的三大特征
1)继承:可以使用父类提供的方法和属性
2)把一个配置好的spring框架放在远程服务器,想要就去继承
3)spring官方在我们有这个想法之前
二、SpringBoot
1、SpringBoot框架遵循约定大于配置
2、SpringBoot配置文件
配置文件的两种文件格式
application.properties
端口号:server.port = 端口号
##号试注释
#可以配置端口号、项目访问地址(项目名)和一些自定义属性
#主要就是系统配置:端口号、项目访问地址(项目名)
#配置端口号 server.port=端口号 不要有空格
server.port=8081
#配置项目访问地址
server.servlet.context-path=/lpw
application.yaml
在SpringBoot中默认的主配置文件名叫
application.properties
application.yaml
3、默认配置文件放在resources中
4、如果两个在同一节
三、YAML
1、yaml介绍
大小写敏感
使用所写表示层级关系
禁止使用tab缩进,只能使用空格
缩进长度没有限制,只有元素对其就表示这些元素
使用#表示注释
字符串可以不用引号标注
大小写区分
使用空格进行缩进,不能使用tab进行缩进
层次结构要对齐
字符串不用引导标注
#yaml文件和properties文件只有一个能生效
#在同一级是,既有application.yaml和application.properties
#在默认读取的是application.properties
#配置端口号
server :
port:8082
#配置访问地址
Servlet:
context-path:/lpw
#一定要对齐
配置文件在项目中有四个可以放的地址
1、根目录下 1111
2、项目根目录中config下 5555
3、项目的resource目录下 4399
4、项目的resources中的config目录下 8848
在四个配置文件存储位置,读取会有优先级
优先级是 2>1>4>3
第一优先级 大当家 2、项目根目录中config下 1111
第二优先级 二当家 1、根目录下 5555
第三优先级 三当家 4、4、项目的resources中的config目录下 8848
第四优先级 四当家 3、项目的resource目录下 4399
如果同时配置四个位置,默认优先读取项目根目录中config下1111其他都失效
#这是根目录下的
#这是resources中config
#配置端口号 server.port=端口号 不要有空格 不要有分好
server.port=1111
server.port=6666
server.port=4399
server.port=8848
#配置项目访问地址
server.servlet.context-path=/lpw
三、SpringBoot多环境配置
应用场景
开发、生产、测试、默认
切换环境
#使用spring.profiles.active=环境 切换环境
spring.profiles.active=dev
电脑和手机都有游戏模式、办公模式、省电模式、学习模式
项目过多也有多重:开发环境(模式) dev
测试环境(模式) test
生产环境(模式) prod
MyBatis——多个模式的连接池
假设说开发dev 4399 测试 8848 生产pro 5555
SpringBoot中提供多环境变量配置
根据不同的环境定义不同的配置文件——对应文件
SpringBoot环境配置公式:
application-{profile}.properties{profile}:dev或test或prod
开发环境(模式) dev application-dev.properties
测试环境(模式) test application-test.properties
生产环境(模式) prod application-prod.properties
默认环境 application.properties
使用spring.profiles.active=环境 切换环境
#dev是开发环境
#端口号 2222
server.port = 2222
#test 是测试环境
#端口号 4444
server.port = 4444
#这是默认配置环境
#使用spring.profiles.active=环境 切换环境
spring.profiles.active=dev
#这是resources的端口号5555
#配置端口号 server.port=端口号
四、自定义属性
1、为什么自定义属性 db.properties
2、如何自定义属性
3、怎么将自定义于属性注入到实体类对象中
两种方式
1、使用@value注解将属性注入制定beans中
2、使用@ConfigurationProperties注解讲属性值绑定在特定结构化的beans中
第一种方式:
@Value操作:
第一种
新建一个student对象
//将实体类交给Spring进行管理 尽心bean化,才能自定义属性值
//给student对象增加注解
@Component//要注入自定义属性的前提工作,先Component
privats String sname;
@Values("${student.sanme}")
//姓名
@Values("${student.sage}")
privats Integer sage;
//年龄
@Values("${student.sgender}")
privats Boolean sgender;
//性别
slikes
/*
有参
无参
get set
*/
第二步、绑定自定义配置文件 指定配置文件的地址
@PropertySouce({"classpath:stu.properties"})
第三步、使用@Value("${属性名|键}") ${属性名|键}-SPEL表达式
@Values("student.sanme")
第四步、检验——需要注入实体类
@Autowired
prvate Student1 stu1;
//测试值,值会输出到页面
@RequestMapping("testValue")
public String testValue(){
return stu1.toString():
}
注意:
Value只能诸如简单的数据类型,例如String、int、date等,但是不能注入Map、List|Set等复杂的数据类型
第二种方式:
第一步、导入依赖
第二步、给实体类添加Component注解
@Component
第三步、绑定自定义配置文件 指定配置文件的地址
@PropertySource({"classpath:stu.properties"})
第四步、绑定前缀
@configurationProperties(prefix="student")
第五步、一定要保证实体类属性名和后缀一样
约定属性配置
@ConfigurationPropertirs注解支持获取字面值
4、@ConfigurationPropertirs和@Value优缺点
1、定义一个学生信息属性使用的也是propertis和yaml文件
使用propertis
右键——new file——stu.propertis
#这是自定义的学生类默认信息属性
#格式 键(前缀.后缀)=值
#姓名
student.sname=lpw
#年龄
student.sage=18
#性别 true男 false女
student.sgender=true
#爱好 list
student.likes[0]=eat
student.likes[1]=study
#如何读取自定义属性之到实体类
五、随机
student.random.intNumber=${random.int}
在实体类中增加
private int INMber();
SpringBoot基础
最新推荐文章于 2024-05-18 16:42:38 发布