#yyds干货盘点#动力节点王鹤Springboot教程笔记Spring boot快速入门

寸阳分阴须爱惜,休负春色与时光。这篇文章主要讲述#yyds干货盘点#动力节点王鹤Springboot教程笔记Spring boot快速入门相关的知识,希望能为你提供帮助。
?  ??第二章 Spring boot快速入门


  • 官方下载地址
??动力节点springboot资料??

  • 视频观看地址
https://www.bilibili.com/video/BV1XQ4y1m7ex
1.  第一种方式:  ??https://start.spring.io???
使用  spring  boot提供的初始化器。    向导的方式,完成  spring  boot  项目的创建:    使用
方便。
1.1  创建项目步骤step  1:  新建项目
???
??? 
??? 
step  4  :  最后创建项目,设置项目的目录位置
step  5:    Spring  Boot  项目目录结构
???
1.2  起步依赖  ??2.  第二种方式,  使用  springboot  提供的初始化器,    使用的国内的地址
国内地址:    https://start.springboot.io
创建项目的步骤同上
???
3.  第三种方式  使用maven  向导创建项目
创建一个普通  maven  项目
  ???
  ???
  修改项目的目录
  ???
添加  Spring  Boot  依赖    ??
  创建启动类:加入@SpringBootApplication  注解
???
3.1  入门案例3.2  入门案例分析3.3  重要注解
  • @SpringBootApplication  :@SpringBootApplication是一个复合注解  ,是由@SpringBootConfiguration,@EnableAutoConfiguration  ,@ComponentScan联合在一起组成的。
  • @SpringBootConfiguration  :就是@Configuration这个注解的功能,使用@SpringBootConfiguration  这个注解的类就是配置文件的作用。
  • @EnableAutoConfiguration:开启自动配置,    把一些对象加入到  spring  容器中。
  • @ComponentScan:  组件扫描器,    扫描注解,根据注解的功能,创建  java  bean,给属性赋值  等等。组件扫描器默认扫描的是  @ComponentScan  注解所在的类,    类所在的包和子包。
4.  Spring  Boot  核心配置文件
Spring  Boot  的核心配置文件用于配置  Spring  Boot  程序,名字必须以  application  开始
4.1  .properties  文件(默认采用该文件)在  002-springboot-springmvc  项目基础上,进行修改
项目名称:  003-springboot-port-context-path
通过修改  application.properties  配置文件,  在修改默认  tomcat  端口号及项目上下文件根  键值对的  properties  属性文件配置方式
?????
启动应用,    在浏览器访问  ??http://localhost:9092/boot/??
4.2  .yml  文件项目名称:  005-springboot-yml,在之前项目基础之上
yml  是一种  yaml  格式的配置文件,主要采用一定的空格、换行等格式排版进行配置。    yaml  是一种直观的能够被计算机识别的的数据序列化格式,容易被人类阅读,  yaml  类    似于  xml,但是语法比  xml  简洁很多,值与前面的冒号配置项必须要有一个空格,    yml  缀也可以使用  yaml  后缀
  ???
注意  :  当两种格式配置文件同时存在  ,在  SpringBoot2.4  开始,    使用的是yml  配置文件.
修改配置名称都为  application。
重新运行  Application  ,查看启动的端口及上下文根
推荐使用yml格式配置文件
4.3  多环境配置在实际开发的过程中,我们的项目会经历很多的阶段(开发-> 测试-> 上线),每个阶段
的配置也会不同,例如:端口、上下文根、数据库等,那么这个时候为了方便在不同的环境  之间切换,  SpringBoot  提供了多环境配置,具体步骤如下
项目名称:  006-springboot-multi-environment
为每个环境创建一个配置文件,命名必须以  application-环境标识.properties|yml
???
application.properties
??? 
application-dev.properties 
  ???
application-product.properties 
???
  application-test.properties
???
4.4  Spring  Boot  自定义配置SpringBoot  的核心配置文件中,除了使用内置的配置项之外,我们还可以在自定义配  置,然后采用如下注解去读取配置的属性值
4.4.1  @Value  注解
@Value("$key")  ,  key  来自  application.properties  (yml)
application.properties:添加两个自定义配置项  school.name  和
school.website。在  IDEA  中可以看到这两个属性不能被  SpringBoot  识别,背景是桔色的
???
读取配置文件数据 
???
@RequestMapping("/hello")

@ResponseBody

public String doHello()

return "hello, port:" + port + "学校: "+name+",网站: "+site ;






启动应用  Application  ,  访问浏览器
4.4.2  @ConfigurationProperties
项目名称:  008-springboot-custom-configuration
将整个文件映射成一个对象,用于自定义配置项比较多的情况
案例演示
在  com.bjpowernode.springboot.config  包下创建  SchoolInfo  类,并为该  类加上    Component  和  ConfigurationProperties  注解,  prefix  可以不指定,如果不指定,那么  会去配置文件中寻找与该类的属性名一致的配置,  prefix  的作用可以区分同名配置
???
创建  SchoolController 
???
执行  Application  ,  访问浏览器查看数据
4.4.3  警告解决
?  在  SchoolInfo  类中使用了  ConfigurationProperties  注解,IDEA  会出现一个警告,不影响程序的执行
???
?  点击  open  documentnation  跳转到网页,  在网页中提示需要加一个依赖,我们将这个依赖拷贝,粘贴到pom.xml文件中
  ???
< !--解决使用@ConfigurationProperties  注解出现警告问题-->

< dependency>

< groupId> org.springframework.boot< /groupId>

< artifactId> spring-boot-configuration-processor< /artifactId>

< optional> true< /optional>

< /dependency>


4.4.4  中文乱码
如果在  SpringBoot  核心配置文件中有中文信息,会出现乱码:
?  一般在配置文件中,  不建议出现中文(注释除外)
?  如果有,可以先转化为  ASCII  码
???
4.4.5  提示
大家如果是从其它地方拷贝的配置文件,  一定要将里面的空格删干净
5.  Spring  Boot  中使用  JSP
5.1  在pom.xml  文件中配置以下依赖项?????
5.2  在  pom.xml  的  build  标签中要配置以下信息SpringBoot  要求  jsp  文件必须编译到指定的  META-INF/resources  目录下才能访问,否则
访问不到。其实官方已经更建议使用模板技术(后面会讲模板技术)
< !—

SpringBoot 要求 jsp 文件必须编译到指定的META-INF/resources 目录下才能访问, 否则访问不到。
其它官方已经建议使用模版技术(后面会课程会单独讲解模版技
术)
-->

< resources>

< resource>

< !--源文件位置-->

< directory> src/main/webapp< /directory>

< !--指定编译到META-INF/resource,该目录不能随便写--> < targetPath> META-INF/resources< /targetPath>
< !--指定要把哪些文件编译进去, **表示webapp 目录及子
目录, *.*表示所有文件-->
< includes>

< include> **/*.*< /include>
< /includes>
< /resource>

< /resources>


5.3  在  application.properties  文件配置  Spring  MVC  的视图展示为jsp,  这里相当于  Spring  MVC  的配置
#配置  SpringMVC  的视图解析器



#其中:  /相当于  src/main/webapp  目录

spring.mvc.view.prefix=/

spring.mvc.view.suffix=.jsp


集成完毕之后,剩下的步骤和我们使用  Spring  MVC  一样
5.4  在    com.bjpowernode.springboot.controller  包下创建JspController  类,  并编写代码
@Controller



public  class  SpringBootController 







@RequestMapping(value  =  "/springBoot/jsp")

public  String  jsp(Model  model) 







model.addAttribute("data","SpringBoot  前端使用  JSP

页面!  ");



return  "index"  ;








5.5  在  src/main  下创建一个  webapp  目录,  然后在该目录下新建index.jsp  页面如果在webapp  目录下右键,没有创建  jsp  的选项,可以在Project  Structure  中指定webapp  为  Web  Resource  Directory
???
5.6  在  jsp  中获取  Controller  传递过来的数据???
5.7  重新运行  Application,  通过浏览器访问测试???
6. Spring  Boot  中使用  ApplicationContext
在  main  方法中  SpringApplication.run()方法获取返回的  Spring  容器对象,  再获取业务  bean  进行调用.
创建  Spring  Boot  项目:  010-springboot-container
指定项目的  gav  和版本等信息
???
选择依赖:
???
创建一个接口  UserService  和他的实现类
创建启动类,      main  方法中获取容器对象
7. CommandLineRunner  接口
开发中可能会有这样的情景。需要在容器启动后执行一些内容。比如读取配置文件,数      据库连接之类的。  SpringBoot  给我们提供了两个接口来帮助我们实现这种需求。这两个接口    分别为  CommandLineRunner  和  ApplicationRunner。他们的执行时机为容器启动完成的时候。
这两个接口中有一个  run  方法,我们只需要实现这个方法即可。这两个接口的不同之处
在  于  :  ApplicationRunner    中    run  方  法  的  参  数  为    ApplicationArguments  ,  而  CommandLineRunner
接口中  run  方法的参数为  String  数组
创建  Spring  Boot  项目,不用选依赖,或者修改  010-springboot-container
???
创建  SomeService  接口和实现类,定义  sayHello()方法
?????
实现  CommandLineRunner  接口
?????
运行主类,查看输出结果 




【#yyds干货盘点#动力节点王鹤Springboot教程笔记Spring boot快速入门】


    推荐阅读