在软件的开拓流程中,我们必要将软件陈设到多个情形,颠末多轮验证后才气最终上线。在差异的阶段中,软件的运行态也许是纷歧样的,好比当地开拓时也许将所依靠的第三方体系stub掉;一连集成构建时也许行使的是测试用的内存数据库等等。为此,本文的示例项目保举回收以下情形:
- local:用于开拓者当地开拓
- ci:用于一连集成
- dev:用于前端开拓联调
- qa:用于测试职员
- uat:类出产情形,用于成果验收(偶然也称为staging情形)
- prod:正式的出产情形
CORS
在前后端疏散的体系中,前端单独陈设,偶然连域名都和后端差异,此时必要举办跨域处理赏罚。传统的做法可以通过JSONP,但这是一种较量“trick”的做法,当前更通用的实践是回收CORS机制,在Spring Boot项目中,启用CORS设置如下:
- @Configuration
- public class CorsConfiguration {
- @Bean
- public WebMvcConfigurer corsConfigurer() {
- return new WebMvcConfigurer() {
- @Override
- public void addCorsMappings(CorsRegistry registry) {
- registry.addMapping("/**");
- }
- };
- }
- }
对付行使Spring Security的项目,必要担保CORS事变于Spring Security的过滤器之前,为此Spring Security专门提供了响应设置:
- @EnableWebSecurity
- public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- http
- // by default uses a Bean by the name of corsConfigurationSource
- .cors().and()
- ...
- }
-
- @Bean
- CorsConfigurationSource corsConfigurationSource() {
- CorsConfiguration configuration = new CorsConfiguration();
- configuration.setAllowedOrigins(Arrays.asList("https://example.com"));
- configuration.setAllowedMethods(Arrays.asList("GET","POST"));
- UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
- source.registerCorsConfiguration("/**", configuration);
- return source;
- }
- }
常用第三方类库
这里列出一些较量常见的第三方库,开拓者们可以按照项目所需引入:
- Guava:来自Google的常用类库
- Apache Commons:来自Apache的常用类库
- Mockito:首要用于单位测试的mock
- DBUnit:测试中打点数据库测试数据
- Rest Assured:用于Rest API测试
- Jackson 2:Json数据的序列化和反序列化
- jjwt:Jwt token认证
- Lombok:自动天生常见Java代码,好比equals()要领,getter和setter等;
- Feign:声明式Rest客户端
- Tika:用于精确检测文件范例
- itext:天生Pdf文件等
- zxing:天生二维码
- Xstream:比Jaxb更轻量级的XML处理赏罚库
总结
本文通过一个示例项目谈及到了项目之初开拓者搭建后端工程的诸多方面,个中的绝大大都实践均在笔者的项目中真实落地。读完本文之后你也许会发明,文中的许多内容都是很基本很简朴的。没错,简直没有什么难的对象,可是要体系性地搭建好后端项目标基本框架却不见得是每个开拓团队都已经做到的工作,而这恰好是本文的目标。最后,必要提示的是,本文提到的实践方法只是一个参考,一方面依然存在思量不周的处所,另一方面示例项目顶用到的技能器材还存在其他更换方案,请按照本身项目标现实环境举办弃取。
作者:蒙昧者云
链接:https://www.jianshu.com/p/bd8136129dfb
来历:简书
简书著作权归作者全部,任何情势的转载都请接洽作者得到授权并注明出处。
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|