1.
最快的例子
Coach接口
package com.example18.example_18; public interface Coach { String getDailyWorkout(); }
CricletCoach 类对接口的实现
package com.example18.example_18; import org.springframework.stereotype.Component; @Component public class CricketCoach implements Coach{ @Override public String getDailyWorkout() { return "Practice fast bowling for 15"; } }
DemoCotroller控制器,构建函数的注入
package com.example18.example_18; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoController { private Coach myCoach; @Autowired public DemoController(Coach theCoach){ myCoach = theCoach; } @GetMapping("/dailvworkout") public String getDailyWorkout(){ return myCoach.getDailyWorkout(); } }
运行结果
2. 如果你有很多不同的类对Coach接口实现,比如你要指定CricletCoach ,你要在前面加上
@Qualifier("cricketCoach")
另外一个可替代方案,不要Qualifier,加上 @Primary
3. 延迟bean初始化
这里全局配置
或者使用@lazy
4. bean的生命周期,作用域singleton
上面加上@Scope就是false了
5.方法的配置
@postConstruct
@PreDestroy
6.开发流程
创建 配置类
定义一个@Bean方法
将bean注入我们的控制器中
在 Spring 中,@Configuration
注解用于定义一个配置类,这个类主要用于配置和管理 Bean。被 @Configuration
注解的类会被 Spring 容器识别并用来生成 Bean,这些 Bean 可以在整个应用中作为单例使用。
可以把Bean加上id
这里使用
标签:core,Coach,spring,boot,Bean,getDailyWorkout,org,import,public From: https://www.cnblogs.com/hechunfeng/p/18543194