注解@Configuration
@Configuration注解和@Controller,@Service一样是对@Component注解的扩展,所以它注解的类也可以被Spring作为Bean管理起来
@Configration注解:声明当前类是一个配置类,相当于Spring中的一个XML文件@Bean注解:作用在方法上,声明当前方法的返回值是一个Bean
下面是一个简单的示例:
@Data
@Configuration
@ConfigurationProperties(prefix = "demo")
public class Config {
private String name;
private int age;
@Bean
public AppConfig initAppConfig(){
AppConfig a = new AppConfig();
a.setAge(age);
a.setName(name);
return a;
}
}
上面的Configuration也可以为Component;上面的AppConfig就是一个Bean可以被其他的组件进行装配,比如:
@Controller
public class DemoController {
@Autowired
private AppConfig appconfig;
@Autowired
private ValueConfig vc;
@Autowired
private Config c;
@ResponseBody
@GetMapping(value = "/appinfo")
public String appInfo(){
return appconfig.toString();
}
}