我可以在多个类中使用Spring @Autowired吗?
我的问题是 - 我可以在多个类中自动一个类的实例吗? 我的应用程序使用Spring MVC在JSP前端页面和MongoDB后端进行通信.我正在使用MongoDB作为我的存储库.我创建了一项为MongoDB执行CRUD方法的服务.这可以在下面使用一种CRUD方法(并非全部显示为不需要).它使用mongo模板. import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Repository; @Repository public class SensorReadingService { @Autowired pr
4 2024-03-21
编程技术问答社区
春天。@价值与@自在的关系
我在正在处理的应用程序中遇到了一些注射问题(使用Spring版本3.1.2).首先,我看到了很多这样的代码: @Value("#{searchRequestBean}") private SearchRequest searchRequest; @Value("#{searchResponseBean}") private SearchResponse searchResponse; @Autowired private SavedSearchService service; 这三个中的每一个似乎都具有将指定的bean/服务自动化到类中的效果.我不明白的是,在这种情况下,@Value和@Autowired有什么区别?我在线发现的每个示例似乎都使用@Value从属性文件注入值.在这种情况下,SearchResponse和SearchRequest是抽象类. 我希望对此有更好的了解将帮助我解决我的会话bean遇到的一些问题. 解决方案 @Value可用于注入默认值
4 2024-03-21
编程技术问答社区
指明顺序给春天 @自来也
我正在使用弹簧框架4. 我有一个类(例如班级),其中使用了另一个类(例如classB). Classa的成员变量正在从ClassB获得值. ClassB具有静态方法,该方法从属性文件中读取数据.在classB中 我想要的是,我想确保当Classa使用其成员变量时,应将所有设置都从属性文件中读取.对于那个classB,应获得ApplicationContext所有内容都设置为从MessageSource. classa被标记为@Component,春季加载classa,但是当它试图初始化成员变量时,它正在获取NullPointerException,因为ApplicationContext尚未初始化. 所以我的问题是,有什么方法可以让Spring告诉某些豆子应以某种顺序或类似的方式初始化.我尝试使用@DependsOn注释,并将@Bean指定为ApplicationContext的getter方法.但这给出了以下例外: Caused by: org.springf
2 2024-03-21
编程技术问答社区
Spring自动连接的Bean导致空指针
我有一个使用服务的记录器类.每次创建新的记录器时,我都希望可以访问Singleton Scoped Loggging Service. i自动将记录服务自动到记录器中,但是,返回一个空指针异常.我尝试了一些解决方案: 在应用程序上下文中手动定义bean, 试图使记录仪被管理弹簧,但这只是导致了更多问题. 我试图使其在Junit测试中工作,并且我确实指定了上下文文件以使用其他应用程序上下文.但是,即使保持相同,也无法解决问题. 请在下面找到代码: 以下是从应用程序上下文中的摘录. 以下是logger类. pac
8 2024-03-21
编程技术问答社区
如何在Spring中为通用类型<T>的Bean自动布线?
我有一个bean Item,该>必须在@Configuration类中自动进行. @Configuration public class AppConfig { @Bean public Item stringItem() { return new StringItem(); } @Bean public Item integerItem() { return new IntegerItem(); } } 但是当我尝试@Autowire Item时,我会得到以下例外. "No qualifying bean of type [Item] is defined: expected single matching bean but found 2: stringItem, integerItem" 我应该如何在春季自动开发Item
4 2024-03-21
编程技术问答社区
有什么办法可以@需要构造函数参数的Bean?
我正在使用Spring 3.0.5,并且正在尽可能多地为我的班级成员使用@Autowire注释.我需要自动的豆子之一需要向其构造函数进行参数.我已经浏览了春季文档,但似乎找不到有关如何注释构造函数的任何引用. 在XML中,我可以用作Bean定义的一部分. @Autowire注释是否有类似的机制? ex: @Component public class MyConstructorClass{ String var; public MyConstructorClass( String constrArg ){ this.var = var; } ... } @Service public class MyBeanService{ @Autowired MyConstructorClass myConstructorClass; .... } 在此示例中,如何用@Autowire注释在mybeanservice中指定"约束"的值?有
6 2024-03-21
编程技术问答社区
Spring Security @PreAuthorization 直接传入枚举。
我的问题是带有春季安全性的自定义注释我相信应该有一个简单的解决方案. 基本上不是这样做: @PreAuthorize("hasPermission(T(fully.qualified.Someclass).WHATEVER, T(fully.qualified.Permission).READ") 我想做: @PreAuthorize(Someclass.WHATEVER, Permission.READ) 或可能有些自定义注释,可以轻松地使用Spring Security 这对我来说似乎要干净很多,如果可以的话,我希望能够做到. 解决方案 的确,您可以实现自定义的强烈键入安全性注释,尽管这很麻烦. 声明您的注释 enum Permission { USER_LIST, USER_EDIT, USER_ADD, USER_ROLE_EDIT } @Target(ElementType.METHOD) @Ret
0 2024-03-20
编程技术问答社区
Spring @Async取消和启动?
我有一个Spring MVC应用程序,用户可以通过按钮单击启动报告生成.这个过程可能需要几分钟〜10-20分钟. 我在服务呼叫周围使用Springs @Async注释,以使报告生成异步发生.当我向用户弹出一条消息时,指示作业当前正在运行. 现在,我要做的是,如果另一个用户(管理员)可以通过按钮启动报告生成,该按钮应取消/停止当前运行@ASYNC任务并重新启动新任务. 为此,我称之为 .. .. future = getCurrentTask(id); // returns the current task for given report id if (!future.isDone()) future.cancel(true); service.generateReport(id); 如何做到这一点,以便" service.generatereport"等待,而未来取消任务杀死所有运行线程? 根据文档,在我致电Future.cancel(true)之后,Isdone将
2 2024-03-18
编程技术问答社区
自定义Java注解以跳过方法的执行
我想创建一个自定义注释以跳过方法执行 这是我的注释代码,带有验证器类 @Target({ METHOD , FIELD , PARAMETER } ) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy={MyValidator .class}) public @interface MyAnnotation { String message() default "DEFAULT_FALSE"; Class[] groups() default{}; Class[] payload() default{}; } 我尝试了验证器.这就是我的验证器的样子 public class MyValidator implements ConstraintValidator{ @Ove
10 2024-03-16
编程技术问答社区
AOP:在::0处出现错误,在两个不同的方法上应用AOP的绑定不一致
我试图在两个不同路径中的两个不同方法上应用一个@be的方面 class Service1{ public Object applyX(X x){ //code } } class Service2{ public OtherObject applyY(Y y){ //code } } 我有我的方面类: @Aspect @Component public class MyProcessor { @Before("execution(* com.a.b.c.Service1.applyX" + " (com.xp.X)) " + "&& args(engineEvaluationRequest) || " + "execution(* com.a.b.d.Service2.applyY" + " (com.yp.Y))
10 2024-02-27
编程技术问答社区
是否有一个Spring AOP注解可以让我们只在该注解返回 "真 "的情况下进入一个方法内部?
是否有弹簧AOP注释,只有当该注释返回true时,才能进入方法? 我想要这样的东西: @CustomAnnotation public String foo(){ System.out.println("Hello World"); return "foo"; } 因此,仅当@customannotation返回true时,我们才能进入foo()方法和打印hello hello world并返回字符串" foo"时,但是当@customantotation返回false时 - 我们不会进入foo内部()完全. 解决方案 要将AOP与Spring一起使用,您应该添加到pom.xml org.springframework spring-aop 5.0.1.RELEASE compi
4 2024-02-26
编程技术问答社区
在Spring中设置和使用ehcache后,缓存为空
我的代码在下面,当我到达结束并尝试从缓存中打印出某些内容时,密钥列表为空. @Configuration @EnableCaching public class EhcacheConfiguration implements CachingConfigurer { CacheConfiguration cacheConfiguration = new CacheConfiguration(); cacheConfiguration.setName("DataCache"); cacheConfiguration.setMemoryStoreEvictionPolicy("LRU"); cacheConfiguration.setMaxEntiresLocalHeap(1000); cacheConfiguration.setEternal(false); net.sf.ehcache.config.Configuration con
14 2024-02-26
编程技术问答社区
我的注解@Value返回null,即使它被使用并被调用到组件注解的类中。
我正在使用春季,需要一些帮助: 我想使用application.properties而不是硬编码设置一个API键,但它总是返回null. Intellij将其正确评估到我在文件中设置的值. 我已经在这里阅读了其他问题,几乎所有的解决方案都说春天只能在托管类中"注入"这些价值吞吐量,例如组件,豆类等.这就是我所做的(想),但仍然无效! 其他一切都按照我的意图运行.任何方向都被赞赏! 我的application.properties api.someapiservice.key=08e...f 使用属性值的类: @Component public class ApiClient implements ApiClientInterface { @Value("${api.someapiservice.key}") private String API_KEY; public ApiClient () { System.out.println(API_KEY);
4 2024-02-26
编程技术问答社区
在spring mvc中创建自定义注解并获得httpservletrequest对象
我想创建自定义注释,并使用HttpServletRequest对象将该注释放在方法级别上.到目前为止,我这样做了: 创建注释 @Target(value={ElementType.METHOD,ElementType.PARAMETER}) @Retention(value=RetentionPolicy.RUNTIME) @Documented @Inherited @Mapping public @interface CheckSession{ boolean isAuthenticate() default false; } 创建的处理程序类 @Component public class CheckSessionClass implements HandlerMethodReturnValueHandler,HandlerMethodArgumentResolver { @Override public Object resolve
10 2024-02-26
编程技术问答社区
Spring MVC:在表单处理动作中拥有多个@ModelAttribute
上下文 我在两个实体之间具有简单的关联-e Category和Email(ntom).我正在尝试创建用于浏览和管理它们的Web界面.要浏览类别并将电子邮件添加到该类别中,我使用用@RequestMapping包裹的控制器(uuid),因此所有控制器操作始终在用路径指定的类别的上下文中进行. i使用@ModelAttribute为整个控制器范围预加载上下文类别. 问题 这种方法在列表和显示表单方面效果很好.但是,它在表单提交中失败 - 稍作调试后,我发现表单数据覆盖了我的类别@ModelAttribute参数. 在我的代码中,在方法save()中,category并不是真正加载addCategory()方法的模型属性,而是填充了表单数据(email模型也被填充,这是正确的). 我正在寻找可以使我仅将形式数据绑定到特定@ModelAttribute的解决方案. 我已经在春季MVC文档中阅读了参数顺序很重要,但是我订购了示例,但仍然无法正常工作.
10 2024-02-26
编程技术问答社区
如果我在配置类上使用@ActiveProfiles注解,而不是在定义Bean的类上使用它,在Spring中会发生什么?
我正在研究春季核心认证,我对使用 profiles junit Tests . 所以我知道,如果我通过以下方式讲授课程: @Profile("stub") @Repository public class StubAccountRepository implements AccountRepository { private Logger logger = Logger.getLogger(StubAccountRepository.class); private Map accountsByCreditCard = new HashMap(); /** * Creates a single test account with two beneficiaries. Also logs creation * so we know which repository w
2 2024-02-26
编程技术问答社区
在Spring Security中,@PostFilter和@PreFilter是如何工作的?
是Spring安全注释的新手,我需要澄清以下代码. @PostFilter("hasPermission(filterObject, 'READ') or hasRole('ROLE_ADMIN')") public List getUsers(String orderByInsertionDate, Integer numberDaysToLookBack) throws AppException 因此,这意味着Getusers返回的用户列表仅包含那些对调用对象访问的完整"READ"的元素,或者调用对象的角色为"ROLE_ADMIN".谢谢. 解决方案 @PreFilter和@PostFilter被指定为弹簧安全性,以便能够根据授权过滤集合或数组. 要有此工作,您需要在弹簧安全中使用基于表达式的访问控制(如示例所示) @prefilter - 在执行方法之前过滤集合或数组. @postfilter - 执行该方法后
4 2024-02-26
编程技术问答社区
带有@Lookup方法的Spring @Bean
我已经实施了一个使用@lookup注释的弹簧bean. (此线程很有帮助:如何使用Spring @lookup注释?)/p> 随后,我注意到一种奇怪的行为,我不确定是通过设计或自己的误解. Spring将在带有@Service,@component等注释的ComponentScan-Ed Bean中实现@lookup方法.但不会在@configuration class(application.java)中定义的@Bean中实现此类方法. 这不是一个大问题,因为我可以从配置中删除@bean定义,而是直接注释其类.但是我想知道该行为是在某个地方记录的,还是我错误地实施了? @Bean public Service getService() { // ServiceImpl has a @Lookup method, // but Spring does not implement it unless the class itself is annotated.
6 2024-02-26
编程技术问答社区
Spring MVC 3.1没有注解?
我正在使用Spring 3.1开始一个新项目,并且对如何使用@Controller注释的所有文档和论坛意见深刻. 我个人不喜欢使用MVC的注释;我更喜欢使用SimpleUrlhandLermapping将WebApp的所有URL提供. 另外,从以前使用Spring 2.x的许多工作中,我已经习惯了BasecommandController Heirarchy. 我一直很喜欢春季,因为它正在赋予不限制的能力.现在,我发现Spring MVC迫使我将URL放入Java源中,含义(a)我无法将控制器映射到多个URL,并且(b)发现WebApp中使用的URL,我必须扫描通过不同的Java源文件,我发现它是不切实际的. 将@controller与simpleurlhandlermpapping结合的推荐方法是什么? 更新: 嗨,戴夫,您是说可以映射这样的多个URL(从petclini.web.cliniccontroller更改)? @RequestMap
8 2024-02-26
编程技术问答社区