ywq_app后台分析

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登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星月IWJ

曾梦想杖键走天涯,如今加班又挨

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值