Spring Boot 学习笔记
2022-05-19 11:55:22 151 举报
AI智能生成
登录查看完整内容
Spring Boot 学习笔记
作者其他创作
大纲/内容
解决:繁多的配置
解决:低下的开发效率
解决:复杂的部署流程
解决:第三方技术集成难度大
为什么使用 Spring Boot
快速构造项目
对主流开发框架的无配置集成
项目可独立运行,无须外部依赖Servlet容器
提供运行时的应用监控
极大地提高开发、部署效率
与云计算天然集成
优点
@Configuration
@EnableAutoConfiguration
@ComponentScan
组合注解
@SpingBootApplication(exclue = {DataSourceAutoConfiguration.class})
关闭特定自动配置
@SpringBootApplication
application.properties 或 application.yml
路径:src/main/resources/ 或 classpath:config/
加载其它properties配置文件,但不支持yml文件
注意:不能被外部配置文件覆盖值
@PropertySource
加载xml配置文件
@ImportSource
1.命令行参数
2.项目路径/config/
3.项目路径
4.classpath:config/
5.classpath
配置文件优先级
配置文件maven过滤:@name@ 代替 ${name}
@ConfigurationProperties:将properties文件和一个Bean关联,实现配置类型安全
配置文件
配置
@ConditionalOnBean:当容器下有指定的Bean的条件下
@ConditionalOnMissingBean:当容器里没有指定Bean的条件下
@ConditionalOnClass:当类路径下有指定的类的条件下
@ConditionalOnMissingClass:当类路径下没有指定的类的条件下
@ConditionalOnExpression:基于SpEL表达式作为判断条件
@ConditionalOnWebApplication:当前项目是Web项目的条件下
@ConditionalOnNotWebApplication:当前项目不是Web项目的条件下
@ConditionalOnProperty:指定的属性是否有指定的值的条件下
@ConditionalOnResource:类路径是否有指定的值的条件下
@ConditionalOnSingleCandidate:当指定Bean在容器中只有一个,或者虽然有多个但是指定首选的Bean
@ConditionalOnJava:基于JVM版本作为判断条件
@ConditionalOnJndi:基于JNDI存在的条件下查找指定的位置
条件注解@Conditional
类:EnableAutoConfigurationImportSelector
方法:SpringFactoriesLoader.loadFactoryNames
扫描:META-INF/spring.factories
@Import
自动配置实现原理
pom: spring-boot-starter-web
classpath:static
classpath:public
classpath:resources
classpath:/META-INF/resources
静态文件路径
src/main/resources/templates
模板文件路径
使用@ServletContentScan 和 @WebServlet、@WebFilter、@WebListener 配置完成
注册ServletRegistrationBean、FilterRegistrationBean、ServletListenerRegistrationBean
注册Servlet、Filter、Listener
@Controller
@RestController
@RequestMapping
@GetMapping @PostMapping @DeleteMapping @PutMapping (4.3版新增)
@RequestBody
@ResponseBody
@RequestParam
@PathVariable
@RequestHeader
@CookieVaule
常用注解
对于实现了Converter接口的类,并加上@Component注解,SpringBoot能够自动注册到转换器工厂
Web支持
pom: mybatis-spring-boot-starter
mapper接口:@MapperScan(\"com.company.production.dao\")
mapper.xml : mybatis.mapper-locations=classpath*:com/**/*Mapper.xml
注意:如果要打包成war运行,则mapper.xml的配置只能使用spring的xml配置sqlSessionFactory
MyBatis支持
@EnableAspectJAutoProxy 启用AspectJ
@EnableCaching 启用缓存
@EnableAsync 启用异步方法
@EnableScheduling 启用定时任务
@EnableRedisHttpSession 启用RedisSession
@EnableTransactionManagement 启用事务管理
常用启用自动配置注解
作用:运行时对应用的监控和管理
pom依赖
端点
Spring Boot Actuator 监控
SpringJUnit4ClassRunner
@RunWith
@SpringApplicationConfiguration:加载指定的配置类
MockMVC
MockHttpServletRequest
MockHttpServletResponse
MockHttpSession
注入WebApplicationContext
@WebAppConfiguration:启动一个模拟Web环境测试
@WebIntegrationTest:启动一个集成了Servlet容器的测试程序
FirefoxDriver browser = new FirefoxDriver()
使用 Selenium 测试 HTML 页面
测试
官方提供的starter pom
Spring Boot 配置属性
如果导图对您有用,请在右上角给点个赞吧
Spring Boot 学习笔记
0 条评论
回复 删除
下一页