草庐IT

Bean注解

全部标签

java - @Autowired bean 在 Controller 上与@Valid 一起工作,但在 CRUD 存储库上失败

我正在开发一个带有用户注册表单的SpringMVC+Hibernate+JPA应用程序,我决定使用JSR-303validator来检查用户名是否已存在于数据库中:publicclassUniqueUsernameValidatorimplementsConstraintValidator{@AutowiredUserServiceuserService;@Overridepublicvoidinitialize(VerifyUniqueUsernameconstraintAnnotation){}@OverridepublicbooleanisValid(Stringusername

enums - Java 枚举单例的注解

正如Bloch在EffectiveJava2ndEdition的第3项(“使用私有(private)构造函数或枚举类型强制实现单例属性”)中所述,单元素枚举类型是最好的实现单例的方法。不幸的是,旧的私有(private)构造函数模式仍然非常普遍和根深蒂固,以至于许多开发人员在创建枚举单例时不明白我在做什么。在类声明上方的一个简单的//EnumSingleton注释会有所帮助,但它仍然留下了一个可能性,即另一个程序员稍后可能会出现并向枚举添加第二个常量,从而破坏单例属性.对于私有(private)构造函数方法所存在的所有问题,在我看来,它比枚举单例更能self记录。我想我需要的是一个注释

java - 无法解析类型 [org.glassfish.jersey.message.filtering.spi.ObjectProvider<com.fasterxml.jackson.databind.ser.FilterProvider>] 的任何 bean

尝试将我的JerseyWeb服务从Moxy转移到Jacksonjson媒体提供程序,发现了几个我目前无法解决的问题:首先,moxy对于同一段代码工作正常,但是因为我们在其他项目中到处都在使用jackson,所以我想保持一致......所以我改变了1)pom中的依赖org.glassfish.jersey.mediajersey-media-json-jackson${jersey.version}2)ResourceConfig注册register(JacksonFeature.class)但是当我运行我的web服务时我开始遇到这个异常(基本上它发生在我从web服务方法返回时):Cau

java - 在运行时替换 bean

代码库是典型的基于spring的企业级代码库,约150万行代码。我们有很多spring上下文文件。测试基础设施有问题。对于测试用例,我创建了另一组test-spring文件(主要是它导入相关的项目spring上下文),少数bean包含用于外部服务的模拟bean。所有测试类都使用同一组上下文配置文件,而且90%的情况下都很好。但在某些情况下,会有一个我想模拟的bean。但我不想编辑spring-text.xml(因为它会打扰所有类),也不希望为每个测试类设置单独的xml集。一种非常简单的做法是:@Autowired@Qualifier("fundManager")FundManagerf

Javax @NotNull 注解用法

我有一个简单的方法来获取给定companyId的文档列表。方法如下:@OverridepublicListgetDocumentList(@NotNullIntegercompanyId){Companycompany=newCompany(companyId);returnthis.documentRepository.findByCompany(company);}我想使用Javax验证约束来确保传入的companyId不是null。但它似乎没有任何效果,因为我能够传入一个null值,它会向下流向存储库上的findByCompany调用。我还在@NotNull之前添加了@Valid

java - 确保从非 spring 上下文加载 spring bean

我在(jersey2.6类和)servlet旁边有spring应用程序。我需要从jersey/非spring上下文中获取Springbean,类似question建议在上下文的静态包装器中获取上下文publicstaticApplicationContextgetContext(){returncontext;}我如何确定上下文已经加载或不为空?如果我不能,我应该如何等待/检查直到加载spring上下文?如果从jersey上下文调用或从调用bean,一个简单的HttpServlet代码编辑Jersey使用jersey-spring3依赖jar工作正常,所以我的问题只是关于不受Sprin

【SpringBoot】秒杀业务:redis+拦截器+自定义注解+验证码简单实现限流

🏡浩泽学编程:个人主页 🔥推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》              《RabbitMQ》《Spring》《SpringMVC》《项目实战》🛸学无止境,不骄不躁,知行合一文章目录前言一、接口限流自定义注解Redis+Lua脚本+拦截器二、验证码总结前言限流是秒杀业务最常用的手段。限流是从用户访问压力的角度来考虑如何应对系统故障。这里我是用限制访问接口次数(Redis+拦截器+自定义注解)和验证码的方式实现简单限流。一、接口限流接口限流是为了对服务端的接口接收请求的频率进行限制,防止服务挂掉。栗子:假设我们的秒杀接口一秒只能处理12w个请求,

java - 将 Java Bean 扁平化为 map

我一直在转换JavaBean至Map.互联网上有很多资源,但不幸的是,它们都涉及将简单的beans转换为Maps。我的范围更广一些。有一个简化的例子:publicclassMyBean{privateStringfirstName;privateStringlastName;privateMyHomeAddresshomeAddress;privateintage;//getters&setters}我的意思是产生Map在这种情况下,对于以下条件为真:map.containsKey("firstName")map.containsKey("lastName")map.containsK

java - 注解处理中如何获取父类(super class)名

我运行自己编写的注解处理器来生成一些基于注解类的新Java代码。以下是我试图获取当前处理的类的父类(superclass)名称。TypeMirrorsuperTypeMirror=typeElement.getSuperclass();finalTypeKindsuperClassName=superTypeMirror.getKind();log("A=================="+superClassName.getClass());log("B=================="+superClassName.getDeclaringClass());typeEleme

java - Hibernate 检查注解

我有一个包含三个字段的表,比如a、b、c。我想添加一个约束,确保如果a不为空,则b和c也不为空。我已经使用以下SQL完成了该操作ALTERTABLEsampleADDCONSTRAINTno_nullsCHECK(CASEWHENaISNOTNULLTHENbISNOTNULLANDcISNOTNULLEND)有没有办法使用hibernate注解@Check达到同样的效果?我找不到带有该注解的有用示例,开发人员是否倾向于根本不使用它? 最佳答案 是的,如果像这样在类级别使用@Check是可能的:@Entity@Check(const