首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring annotation @Required不起作用(未使用xml )

Spring annotation @Required不起作用(未使用xml )
EN

Stack Overflow用户
提问于 2020-02-14 00:47:33
回答 1查看 335关注 0票数 0

我已经看到,当我把@Required放在College.java中时,我没有得到异常,代码运行得很好。这不是预期的行为。请帮帮我。

代码语言:javascript
复制
@Component
public class College {


    public String s;

    @Required
    public void setS(String s) {
        this.s = s;
    }




@Configuration
public class ApplicationConfig {

    @Bean
    public College collegeBean()
    {
        return new College();
    } 

    @Bean
    public Principal principalBean()
    {
        return new Principal();
    } 

}

Main方法:

代码语言:javascript
复制
public static void main(String[] args) {

    ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class);
    System.out.println("file loaded");
    College coll = context.getBean("collegeBean",College.class);
    System.out.println(coll.toString());
}
EN

回答 1

Stack Overflow用户

发布于 2020-02-14 02:35:48

详细的here说明了@Required注释不起作用的原因

要使您的应用程序工作,您需要用@ComponentScan注释@Configuration类。如果要自动检测的bean不在@ComponentScan的默认作用域中,则需要相应地使用属性。

代码语言:javascript
复制
@Configuration
@ComponentScan
public class ApplicationConfig {..}

备注

  1. College类已经使用@Component进行了注释,@ComponentScan将检测该bean。您不需要ApplicationConfig
  2. A String bean中的方法collegeBean()必须可用来支持依赖项。您可以在ApplicationConfig中为同一对象声明一个bean。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60212837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档