springboot:
1:@EnableAutoConfiguration(开启自动配置)注解通常都放到main所在类的上面
  @EnableAutoConfiguration可以从逐层的往下搜索各个加注解的类
  @RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,
  如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。
2:一个@SpringbootApplication相当于@Configuration,@EnableAutoConfiguration和 @ComponentScan
3:Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。
  等同于xml配置方式的 <tx:annotation-driven />
  在Service中,被 @Transactional 注解的方法,将支持事务。如果注解在类上,则整个类的所有方法都默认支持事务。
  对于同一个工程中存在多个事务管理器,如果Spring容器中存在多个 PlatformTransactionManager 实例,
  并且没有实现接口 TransactionManagementConfigurer 指定默认值,在我们在方法上使用注解 @Transactional 的时候,就必须要用value指定,如果不指定,则会抛出异常
4:在Spring容器中,我们手工注解@Bean 将被优先加载
5:使用RunWith注解改变JUnit的默认执行类,并实现自已的Listener在平时的单元测试,
  如果不使用RunWith注解,那么JUnit将会采用默认的执行类Suite执行
  @SpringBootTest(classes = MockServletContext.class):表示将某些类纳入测试环境的容器中。
  @WebAppConfiguration注入spring上下文
6:@Bean
  @Configuration
  public class AppConfig {
    @Bean
    public TransferService transferService() {
        return new TransferServiceImpl();
    }
  }
  这个配置就等同于之前在xml里的配置
  <beans>
    <bean id="transferService" class="com.acme.TransferServiceImpl"/>
  </beans>
  bean的依赖@bean 也可以依赖其他任意数量的bean,如果TransferService 依赖 AccountRepository,我们可以通过方法参数实现这个依赖
  @Configuration
  public class AppConfig {
    @Bean
    public TransferService transferService(AccountRepository accountRepository) {
        return new TransferServiceImpl(accountRepository);
    }
  }
swagger2:
  @Configuration
  @EnableSwagger2
  public class Swagger2 {

@Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.didispace.web"))
                .paths(PathSelectors.any())
                .build();
    }

private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2构建RESTful APIs")
                .description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
                .termsOfServiceUrl("http://blog.didispace.com/")
                .contact("程序猿DD")
                .version("1.0")
                .build();
    }

}
  我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明
restTemplate:
  借助 RestTemplate,Spring应用能够方便地使用REST资源 
  delete() 在特定的URL上对资源执行HTTP DELETE操作
  exchange() 
  在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中 
  映射得到的
  execute() 在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象
  getForEntity() 发送一个HTTP GET请求,返回的ResponseEntity包含了响应体所映射成的对象
  getForObject() 发送一个HTTP GET请求,返回的请求体将映射为一个对象
  postForEntity() 
  POST 数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应体中映射得 
  到的
  postForObject() POST 数据到一个URL,返回根据响应体匹配形成的对象
  headForHeaders() 发送HTTP HEAD请求,返回包含特定资源URL的HTTP头
  optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URL的Allow头信息
  postForLocation() POST 数据到一个URL,返回新创建资源的URL
  put() PUT 资源到特定的URL
Spring Security 4:
  基于@PreAuthorize, @PostAuthorize, @Secured和 Spring EL表达式的方法级的安全
  想要开启Spring方法级安全,你需要在已经添加了@Configuration注解的类上再添加@EnableGlobalMethodSecurity注解
  Spring的 @PreAuthorize/@PostAuthorize 注解更适合方法级的安全,也支持Spring 表达式语言,提供了基于表达式的访问控制。
  @PreAuthorize 注解适合进入方法前的权限验证, @PreAuthorize可以将登录用户的roles/permissions参数传到方法中。
  @PostAuthorize 注解使用并不多,在方法执行后再进行权限验证。 
  所以它适合验证带有返回值的权限。Spring EL 提供 返回对象能够在表达式语言中获取返回的对象returnObject
  @PostAuthorize ("returnObject.type == authentication.name")  
  @PreAuthorize("hasRole('ADMIN')")  
  @PreAuthorize("hasRole('ADMIN') AND hasRole('DBA')")  
springboot整合hibernate:http://blog.csdn.net/u011089598/article/details/79481898

第三方:七牛/阿里支付宝/微信/融创/极光推送/麦讯通短信(bug多,不稳定)/qq登录

ywq_app后台分析相关推荐

  1. 大数据的后台分析模式

    一,点击数据可视化 二,智能推荐系统

  2. 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载

    原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...

  3. 网站用户访问速度监测分析项目

     刚来新公司不久做运维开发,本为以为要继续做我的开源软件开发,结果领导给分了个以前基本从来没考虑的任务,监测用户访问我们网站的速度,没错,是监测所有的用户访问我们网站的速度. 刚来新公司不久做运维 ...

  4. 分析flv文件的信息

    上一篇博文"FLV文件格式解析"提到的小工具FLVParse,是由于工作需要,我自己写的一个小程序. 这个工具的主要功能是查看FLV的文件结构,帮助我们理解FLV格式.另外,如果涉 ...

  5. sonar 分析的质量数据在数据库表中的存储和质量维度数值的研究

    首先sonar分析的质量数据维度明细在metric表中: 图中很关键的数据:覆盖率,新增覆盖率:代码行覆盖率,代码行新增覆盖率 覆盖率是字节码的比值,代码覆盖率是代码行层面的统计,所以一般代码行覆盖率 ...

  6. Elasticsearch + Logstash + Kibana 搭建日志集中分析平台实践

    为什么80%的码农都做不了架构师?>>>    比较详细的搭建教程:https://segmentfault.com/a/1190000003689999 Elasticsearch ...

  7. MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析

    概述 insert慢是经常被问到的问题,笔者尝试在本文中对这个问题做一个分类梳理,列举的线上例子会做简化,希望对读者有所启发. 注意:因为阿里云MySQL线上实例还是以RDS 5.6为主体,本文的分析 ...

  8. 线上阿里云mysql慢_MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析-阿里云开发者社区...

    概述 insert慢是经常被问到的问题,笔者尝试在本文中对这个问题做一个分类梳理,列举的线上例子会做简化,希望对读者有所启发. 注意:因为阿里云MySQL线上实例还是以RDS 5.6为主体,本文的分析 ...

  9. SS00027.algorithm——|ArithmeticMachine.v27|——|Machine:项目实战.v04|竞争分析|

    一.竞争分析 ### --- 竞争分析 ~~~ 依据之前的top100品牌数据,分析市场份额前三的商家:拜耳,科凌虫控,安速.### --- 分析流程 ~~~ 人群画像分析:三个品牌的人群特征基本一致 ...

  10. 全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)

    今天,又是干货满满的一天.这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始.由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版 全网最硬核 JVM TLAB 分析(单篇版不包含额外 ...

最新文章

  1. npm should be run outside of the Node.js REPL, in your normal shell
  2. 解决table边框在打印中不显示的问题
  3. datagridview滚动条自动滚动_Win32编程基础之滚动条
  4. 【java】实现一个简单的正则:判断一个字符串是否全由数字组成
  5. vuejs兄弟组件之间的通信
  6. Jenkins 持续集成自动化测试配置
  7. 50张动图带你走进神奇的物理生物化学世界,超震撼!
  8. 【英语学习】【Level 07】U03 Amazing wonders L2 A global city
  9. ASP.NET中定制自己的委托和事件参数类
  10. 《NS与网络模拟》第五章node示例
  11. 教你快速将多个TXT文档合并成一个
  12. VMware 开启笔记本摄像头
  13. leetcode LCP 02. 分式化简
  14. Ubuntu下可以使用的微信
  15. 自然语言处理方面的顶会
  16. 为什么动漫比游戏建模精致?3大不同,一看就明白
  17. ajax瀑布流加载重叠,使用瀑布流插件masonry,图片未加载完就会出现重叠现象,怎么解决?...
  18. 安装LEGO软件遇到的问题
  19. 校内网明年将与QQ平分秋色
  20. 使用BrickPi通过WiFi编程乐高Mindstorms机器人

热门文章

  1. 面向猴子编程 GO制作水印
  2. MyEclipse配置jdk
  3. ffmpeg用法及如何使用fluent-ffmpeg
  4. Java实现支付宝网页支付
  5. 快速入门Flink (7) —— 小白都喜欢看的Flink流处理之DataSources和DataSinks(转载)
  6. access9磅字体是多_字体大小(几号-几磅)
  7. 计算机故障诊断知识,故障诊断
  8. 令人期待的大戏:千亿百度
  9. mysql执行sql流程_mysql 执行sql流程
  10. 正向最大匹配、逆向最大匹配与双向匹配算法实现