Spring技术栈

Spring技术栈

AspectJ原生注解注入Spring对象

在研发项目的一些设计中,我们将特殊的业务封装在SDK中暴露接口,提供给业务方使用,比如dubbo的服务暴露也是如此。但是,对于某些特殊的方法或类进行诸如QPS、RT信息收集,又或者如我们下面讲的通用ABTest,为了不污染业务代码,我们在SDK提供了便捷的接入方式:注解,业务方只需要在代码的方法上面添加SDK中注解便可,无需任务其他修改。具体处理的逻辑交给我们SDK封装的方方法通过增强实现。

说道增强实现,就不得不提到AspectJ了,它是最常用的字节码处理框,是AOP编程思想的一个实践。我们SDK中不想依赖Spring的框架和代码,因此直接使用原生的AspectJ实现一个AOP,帮助我们解决业务问题。想法很丰满,现实很骨感,复杂的业务,不单单是一个通用SDK就能完成的,还需要根据各个服务自身的业务来完成个性化需求,最好的解决方法时业务方提供服务能力,通过调用业务方的接口实现完整的业务逻辑。这时候,我们就会遇到如何将业务方提供的服务注入到我们的切面服务中!

只要是使用过spring的开发者,都知道,想要在一个对象中注入spring容器管理的对象,那么首要条件是该对象也必须接受spring容器管理。因此上,我们也是这么去做的,具体看下面的实现。

阅读剩下更多

默认配图
Spring技术栈

DelegatingProxyFilter的作用

人人网开源了一款基于Mybatis、Springmvc、Shiro框架的一套权限管理系统,项目的地址在此:【[SpringMVC版](https://gitee.com/babaio/renren-security)】,【[SpringBoot版](https://gitee.com/babaio/renren-security/tree/renren-security-boot)】。既然是web应用,就先从web配置开始学习。 renren-security是基于shiro框架做的权限管理。shiro和spring-security都能实现权限粒度的管控,只不过shiro提供了一套Java api,spring-security需要和springmvc整合在一起。

阅读剩下更多

默认配图
Spring技术栈

springboot(一):入门篇

【说明】
本文大部分类容来源于【纯洁的微笑】,本人只是添加了部分不同于他的。

什么是spring boot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。springboot的口号是约定大于配置,也就是说大部分的配置都死约定好了的,springboot做了默认配置。

使用spring boot有什么好处

其实就是简单、快速、方便!平时如果我们需要搭建一个spring web项目的时候需要怎么做呢?

  • 1)配置web.xml,加载spring和spring mvc
  • 2)配置数据库连接、配置spring事务
  • 3)配置加载配置文件的读取,开启注解
  • 4)配置日志文件
  • n) 配置完成之后部署tomcat 调试

  • 现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!

但是如果使用spring boot呢?
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务!

阅读剩下更多

默认配图
Spring技术栈

springboot入门笔记

说明:文章内容来源于[猿说教育]

1. Spring Boot 入门

Spring Boot 是 Spring 社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基 于 Spring 的应用程序和服务,让更多人的人更快的对 Spring 进行入门体验,让 Java 开发也 能够实现 Ruby on Rails 那样的生产效率。为 Spring 生态系统提供了一种固定的、约定优于配 置风格的框架。

Spring Boot 具有如下特性:

  • 为基于Spring的开发提供更快的入门体验
  • 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需
    求。
  • 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、
    外部配置等。
  • SpringBoot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。

阅读剩下更多

默认配图
Spring技术栈

dubbox/dubbo+spring+mybatis+gradle构建REST服务

Dubbo大家并不陌生,Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。那什么是 Dubbox?看看别人怎么说的:

Dubbox 是 Dubbo 的一个扩展,假如你知道 java, javax 和 dubbo,那你就会明白dubbox是什么了。

Dubbox 增加的功能如 RESTful remoting, Kyro/FST 系列化等。它已经应用在当当网内部的多个项目中。

阅读剩下更多

默认配图
返回顶部