spring -- 46




1 2 3 4 5

200x200


引言测试流程在软件开发过程中显得越来越重要了,因为无论经验多么丰富的开发者,都难免在编码过程中出现失误甚至是逻辑错误,在这样的前提下,单元测试就显得非常重要了单元测试通过对程序中每个部分进行独立的测试

#技术帖    #java    #spring    #单元测试   

200x200


概述此前我们介绍了如何通过 springboot 构建一个最简单的 web 项目基于 springBoot 的 Hello World我们看到,通过 

#技术帖    #技术分享    #容器    #java   

200x200


概述此前,我们介绍了很多关于 spring 使用的日志,但是 spring 究竟是如何启动的呢?他的工作机制又是怎样的呢?本文我们就来剖开源码,深入解读&nbs

#技术帖    #技术分享    #容器    #java   

200x200


概述maven 是一个常用的 java 跨平台项目管理工具,主要工作是项目构建、依赖管理和项目信息管理除了编写源代码,我们每天有相当一部分时间花在了编译、运行单元测试、生

#技术帖    #龙潭书斋    #技术分享    #java   
概述上一篇日志中,我们介绍了 Retryer 类,及可以用来方便的创建 Retryer 的强大工具类 RetryerBuilderguava 重试工具库 -- RetryerRetryer 创建工具 -- RetryerBuilder 本篇日志中,我们通过面向切面结合 guava 的这个强大的工具类,来实现只需要添加一行注解即可的自动重试机制 注解我们的注解旨在通过简单的参数配置常用的重试策略:@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface TechlogRetryer { long waitMsec() default 0; Class[] retryThrowable() default {}; long maxDelayMsec() default 0; int maxAttempt() default 0; }  切面我们以上面的注解为切点构造一个切面,实现对方法的自动处理@Aspect @Service public class TechlogRetryerAspect { private static final Logger LO
#技术帖    #技术分享    #spring    #aop   

200x200


概述原型模式指的是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象也有时被人称为多例模式,通过对一个“原型”实例的克隆完成对象的创建 使用场景要实例化的类是在运行时指定的需要创

#技术帖    #龙潭书斋    #java    #面向对象   
概述在上一篇日志中,我们介绍了怎样通过 maven 配置实现打包不同的资源配置目录:通过 maven filtering 机制实现打包不同的资源配置目录可以在代码中的同一级不同目录下存放相同配置文件名的不同配置,在打包的时候,通过 -P 参数方便的指定使用哪个目录下的配置文件,这一机制通常被称为 Maven Filtering 机制由于实际的 jar 或 war 包中只包含指定的配置,因此不存在被攻击读取到非法配置的可能,在安全性、通用性方面非常不错,但是如果在打包后需要修改配置,就必须重新打包了,同时,在打包过程中,maven 并不会检查代码中使用到的配置是否存在,如果某个配置不存在,将会在运行时才能被检查出来 本篇日志中,我们将介绍 maven 的另一插件 -- AutoConfig,他与 maven filtering 机制最大的区别在于他是在 build 时使用的,因此可以在运行时期以前检查到配置的缺失或错误,同时他和 maven filtering 机制一样是不依赖于具体框架的,任何环境和框架均可使用这一插件 设计理
#技术帖    #龙潭书斋    #java    #spring   
概述此前我们介绍了通过 xml 配置生成 bean 的方法:依赖构造器注入、注入属性装配 bean你是否想过 xml 是如何解析的呢?我们是否可以自己定义一个 xml 标签,然后自己去处理用户对该标签的配置呢?事实上,spring2.0 开始就提供了 schema 风格的 xml 扩展机制,允许我们添加额外的扩展标签,下面我们就来尝试一下 引入标签配置 -- xsd 文件首先,我们需要对我们即将提供的标签进行声明和格式定义,spring 是通过解析我们提供的 xsd 文件来确定我们的自定义标签的格式的xsd 文件是一种特殊的 xml 文件,spring 官方包中的提供了很多 xsd 文件的配置,我们可以去参考这些文件的定义方法来实现我们自己的定义这里,我们来实现一个简单的标签 <techlogBean time="" name=""/>,来创建一个 bean <?xml version="1.0" e
#技术帖    #xml    #技术分享    #java   
概述今天的开发中,遇到一个问题:我需要创建某个 jar 包中的一个类对应的 bean,而在实例化这个类的过程中,必须传入我的一个 Service 作为参数,于是我如下创建 bean:@Bean public ServiceFactoryBean techlogServiceFactory() { ServiceFactoryBean factoryBean = new ServiceFactoryBean(); factoryBean.setHandler(new TechlogService()); return factoryBean; }  这样创建虽然是 OK 的,但是问题在于,这样创建的结果将造成传入的 TechlogService 对象不是 Spring 生成的 Bean,因此 TechlogService 中的 @Resource、@Autowire 注解的成员都将无法被注入而成为了 null,这个问题怎么解决呢? 通过 ApplicationContextAware 获取 Spring Bean&
#技术帖    #龙潭书斋    #遗留问题    #java   
概述上一篇日志中,我们了解了如何从不同的来源获取用户列表的配置方法Spring Security 配置用户列表本篇日志中,我们来介绍一下如何配置拦截不同的请求 configure(HttpSecurity) 与 HttpSecurity 对象通过 configure(HttpSecurity) 可以配置如何保护路径在此前我们已经接触过这个方法:Spring Secrity 简介及基本配置@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().anyRequest().authenticated() .and().formLogin().and().httpBasic(); }  HttpSecurity 提供的方法HttpSecurity 提供的方法方法作用access(String)如果给定的SpEL表达式计算结果为true,就允许访问anonymous()允许匿名用户访问authenticated()允许认证过的用户访问denyAll()无条件拒绝所有访问fullyAuthenticated()如果用户是完整认证的话(不是通过Remember-m
#技术帖    #mvc    #龙潭书斋    #http   
1 2 3 4 5



京ICP备15018585号