Python 官方文档:入门教程 => 点击学习
目录1 自动配置底层分析1.1 自动配置注解解析1.2 修改默认配置1.3 总结1.4 最佳实践2 开发小技巧2.1 Lombok简化开发2.2 伪热更新2.3 创建spring
@SpringBootApplication注解是SpringBoot的核心注解,他是由以下三个注解总和而成.
@SpringBootConfiguration
该注解底层有一个@Configuration注解,标明当前类是一个配置类
@EnableAutoConfiguration该注解又由以下两个注解组合而成
@ComponentScan 这个注解定义了包扫描的规则
SpringBoot默认会在底层配好所有的组件,但是如果用户自己配置了以用户的优先。使用@ConditionalOnMissingBean注解判断容器中是否存在该组件的话就使用默认的类进行配置
● SpringBoot先通过xxxxxAutoConfiguration加载所有的自动配置类
● 每个自动配置类按照条件进行生效,默认都会绑定配置文件指定的值,这个值就在xxxxProperties里面拿,xxxProperties和配置文件进行了绑定。
● 生效的配置类就会给容器中装配很多组件
● 只要容器中有这些组件,相当于这些功能就有了
● 定制化配置
○ 用户直接自己@Bean替换底层的组件
○ 在创建的配置文件中使用配置项修改默认的配置信息。比如说配置字符编码格式在HttpEncodingAutoConfiguration里的注解中可以得知
xxxxxAutoConfiguration —> 组件 —>
xxxxProperties里面拿值 ----> application.properties
根据上述自动配置原理总结SpringBoot的最佳项目实践流程
引入场景依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-WEB</artifactId>
</dependency>
查看自动配置了哪些组件
修改配置项
组件修改
@Bean、@Component……注解
…………业务流程
第一步: 导入依赖(由于starter启动器中已经配置了版本,于是可以不去再次进行设置)
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
第二步: 搜索安装lombok插件
第三步: 使用注解进行开发
JavaBean的注解 使用注解并不会直接自动生成代码,而是在编译期间将注解的方法补上。而且如果需要使用多参但不全构造器的话,没有注解可以完成,需要自己在源码上手写
生成日志
第一步: 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
第二步: 使用热更新功能,在项目源码中更新了代码,不需要重启服务器,直接使用Ctrl+F9刷新项目信息,就可以使用更新之后的代码了。静态页面的改变使用Ctrl+F9,就是在服务器中直接更新页面信息,其他的信息改变就相当于使用按钮重启项目。如果想要实现不需任何操作就实时更新的话可以使用JRebel,但是缺点就是收费。
这个小技巧就是在使用idea的企业版开发的时候,直接创建一个springBoot项目,还可以自定义项目中所需要的技术,创建完成之后就会自动生成SpringBoot项目相应的主程序类、pom.xml文件等
右键创建项目的时候选择Spring Initailizr,主要就是勾选自己需要的技术
效果:
到此这篇关于SpringBoot2零基础到精通之自动配置底层分析及小技巧的文章就介绍到这了,更多相关SpringBoot2 自动配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: SpringBoot2零基础到精通之自动配置底层分析及小技巧
本文链接: https://lsjlt.com/news/143476.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0