autowire beans.groovy在java spring boot中

时间:2016-06-01 08:19:27

标签: java spring grails groovy

不明白在java spring boot app中如何正确使用beans.groovy。 我想在我的java bean中更改一些值,例如在xml,throught .groovy中。我怎么能这样做?我试着这样: 我有主要班级:

@SpringBootApplication(scanBasePackages = "proj")
public class Application   {
    public static void main(String[] args) {
         Object[] sources = {Application.class, new ClassPathResource("beans.groovy")};
    SpringApplication.run( sources , args);
    }
}

和一些TestBean。有2个字段名称和姓氏,我想要init trhought groovy:

@Component
public class TestBean {
    public String name;
    public String surname;

    TestBean(){
        System.out.println("INIT!!!!!");
    }
}

我希望通过Groovy bean初始化TesbBean。我在资源中添加somebeans.groovy文件并在其中添加: 我希望在我的@Controller中自动装配它:@RestController

public class StaticContect {
@Autowired
TestBean testBean;
@RequestMapping(value = "test" , method = RequestMethod.GET)
    public void test() {
        System.out.println(testBean.name);
        System.out.println(testBean.surname);
    }
}

我将somefile.groovy添加到包含此内容的资源中:

beans  {
      TestBean(){
        name = "nametest"
        surname = "surname"
    }
}

但我的名字和姓氏都是空的。

1 个答案:

答案 0 :(得分:1)

beans.groovy应该是

import proj.config.TestBean

beans  {
      testBean(TestBean, name = "nametest", surname = "surname")
}