回顾Spring历史

1.spring1.0时代
  用xml文件来配置,在xml文件来配置Bean,可以在xml文件中轻松的进行处理,但是在bena的数量越来越多的时候,xml的
配置也就会越来越复杂,所以为了解决bean的配置越来越多的情况下减轻xml文件的处理.spring2.0就诞生了

2.spring2.0时代
  在xml文件上做了一定的优化,让配置看起来越来越简单,但是并没语完全解决xml冗余的问题

3.spring3.0时代;
  可以使用spring提供的java注解来取代曾经xml配置上的问题,似乎我们曾经忘记了发生什么,spring变得
前所未有的简单,

4.spring4.0时代;
  4.0 时代我们甚至连xml配置文件都不需要了完全使用java源码级别的配置与spring提供的注解就能快速的开发
spring应用程序,  但仍然无法改变Java Web应用程序的运行模式,我们仍然需要将war部署到Web Server 上,才能
对外提供服务。能否运行一个简单的main()方法就能启动一个Web Server 呢?Spring Boot 满足了我们的这种需求。

 


Spring Boot 2.1.10 学习笔记(2)

 

复习一下四个注解

@Configuration : 声明一个类作为配置类, 代替XML文件

@Bean: 声明在方法上,将方法的返回值加入Spring容器中,代替<Bean>标签

@Value: 属性注入

@PropertySource:引入外部的属性文件

 我们来玩一下Java配置

在项目的pom.xml文件中追加一个数据库连接池的依赖

Spring Boot 2.1.10 学习笔记(2)

 

 

在项目的resources目录下创建配置文件 jdbc.properties

Spring Boot 2.1.10 学习笔记(2)

 

我们写一个配置Java类,读取jdbc.properties配置并且生成DataSource对象

Spring Boot 2.1.10 学习笔记(2)

 

 

 最后我们可以在引用他的任意类中注入使用,我们这里是个例子就放到 HelloController中

Spring Boot 2.1.10 学习笔记(2)

启动时,我们发现有报错信息: java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType

 Spring Boot 2.1.10 学习笔记(2)

 

 可以看出是缺少了 jdbc相关的包,故需要在pom.xml中增加一个jdbc的启动器

Spring Boot 2.1.10 学习笔记(2)

 

此时,我们用Debug方式启动,在HelloController类中打个断点,看一下连接是否注入成功,浏览器访问相应地址然后在后台可以看到对象已注入

Spring Boot 2.1.10 学习笔记(2)

 

 

以上是在Java代码配置中Spring写法,那么Spring Boot推荐怎么用呢,它又给我们优化简化到了什么程度?

 

在Spring Boot启动的时候,它会默认读取一个 application.properties的资源文件,这也是它唯一的配置文件,我们所有的配置以后都是写到这个里面

Spring Boot 2.1.10 学习笔记(2)

 

 

 

输入注解 @ConfigurationProperties 若提示 Spring Boot Configuration Annotation Processor not found in classpath 则就按照下图去掉复选框选中的即可

Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 

 Spring Boot 2.1.10 学习笔记(2)

 

 总结一下Spring Boot四种属性注入方式

@Autowired注入 符合我们的习惯,可能用的比较多;

构造方式注入

@Bean方法的形参注入

@Bean方法上再使用注解 @ConfigurationProperties(prefix="jdbc")

 

 

Spring Boot 官方已经提供了的启动器 13.5里面都能看到.

https://docs.spring.io/spring-boot/docs/2.1.10.RELEASE/reference/html/using-boot-build-systems.html#using-boot-starter

 

 Spring Boot的默认配置文件 : application.properties 或 application.yml  二者只能选其一

 

 SpringBoot 常用的默认配置  在官方的附录中,A 常用的应用程序属性

  https://docs.spring.io/spring-boot/docs/2.1.10.RELEASE/reference/html/common-application-properties.html

  比如我们将默认配置的web应用端口改为 8090,则只需要在application.properties中覆盖默认配置值  server.port=8090


 从常用配置中可以看出,开发时我们需要将静态资源(图片,文本文件,JS)等放到 ,而在Spring Boot中是不支持写JSP页面的.

spring.resources.static-locations# Locations of static resources. 

  大多数时候我们是放到 static目录下

 而在浏览器中访问时,则不需要指定static这个路径

 

 再次总结一下,在Spring Boot中开发Web应用的步骤

   > pom文件引入 启动器

   >application.properties 自定义配置或覆盖默认配置

   >编写引导类

   >编写自己的Controller等...

  以上总结的一个示例

  Spring Boot 2.1.10 学习笔记(2)

 

 Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 Spring Boot 2.1.10 学习笔记(2)

 

Spring Boot 2.1.10 学习笔记(2)

 

 

 

 

 

 

 

 

相关文章:

  • 2021-12-03
  • 2021-04-03
  • 2021-04-03
  • 2022-02-22
猜你喜欢
  • 2021-07-23
  • 2021-12-22
  • 2022-01-12
  • 2021-11-28
  • 2021-12-15
  • 2021-11-07
  • 2021-11-26
相关资源
相似解决方案