Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用注释注入取代通过XML的Springbean注入_Java_Spring_Spring Boot - Fatal编程技术网

Java 用注释注入取代通过XML的Springbean注入

Java 用注释注入取代通过XML的Springbean注入,java,spring,spring-boot,Java,Spring,Spring Boot,我想通过注释声明和注入bean。它以前是通过XML完成的,但我需要应用于Spring启动项目 以下是源xml <oauth:resource-details-service id="rds"> <oauth:resource id="oauth1" key="${key}" secret="${secret}" request-token-url="${token}"

我想通过注释声明和注入bean。它以前是通过XML完成的,但我需要应用于Spring启动项目

以下是源xml

<oauth:resource-details-service id="rds">
    <oauth:resource
            id="oauth1"
            key="${key}"
            secret="${secret}"
            request-token-url="${token}"
            user-authorization-url="${user-auth}"
            access-token-url="${accesstokenurl}">
    </oauth:resource>
</oauth:resource-details-service>

这样做的正确方法是什么?

我不确定您是否在寻找这个解释。但如果我理解你的问题,那么下面的信息可能会对你有所帮助

对于示例配置类,您可以看到示例

对于注册配置类,您可以看到


请参阅@Service、@Component、@Repository、@Controller、@Autowired相关示例。

您可以在主类中使用@Bean注释,例如:

@SpringBootApplication
public class Application{

 @Bean
 public OAuthRestTemplate getAuth(){
   BaseProtectedResourceDetails resourceDetails = new BaseProtectedResourceDetails();
   resourceDetails.set...
   resourceDetails.set...

   return new OAuthRestTemplate(resourceDetails);
 }
}
在使用@Autowired注入对象之后

@Autowired
private OAuthRestTemplate oAuthRestTemplate;

您可以在您的配置java类中初始化
BaseProtectedResourceDetails
,然后为
OAuthRestTemplate
初始化bean,并在构造函数中传递
BaseProtectedResourceDetails
的初始化bean。我今晚将尝试此操作,如果可行,则接受此操作。谢谢。如果resourceDetails需要在属性文件(如密钥)中定义配置,则在创建bean时,使用@Value注释的字段可能是工作字段,还是为空字段?您可以尝试使用如下环境对象:@Resource Environment env;并获取如下属性:最终字符串myPropertyValue=environment.getProperty(“myProperty”);
package com.tutorialspoint;
import org.springframework.context.annotation.*;

@Configuration
public class TextEditorConfig {

   @Bean 
   public TextEditor textEditor(){
      return new TextEditor( spellChecker() );
   }

   @Bean 
   public SpellChecker spellChecker(){
      return new SpellChecker( );
   }
}
@SpringBootApplication
public class Application{

 @Bean
 public OAuthRestTemplate getAuth(){
   BaseProtectedResourceDetails resourceDetails = new BaseProtectedResourceDetails();
   resourceDetails.set...
   resourceDetails.set...

   return new OAuthRestTemplate(resourceDetails);
 }
}
@Autowired
private OAuthRestTemplate oAuthRestTemplate;