Springboot @Component 使用@Autowired引用bean失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot @Component 使用@Autowired引用bean失败相关的知识,希望对你有一定的参考价值。
参考技术A 解决方案1、被引用的bean,部分可以转换成静态方法,如果工具类里面还需要@Autowired引入其他的bean,可以
2、在引用类下,使用 @PostConstruct
3、@Confuguation结合#ConfigurationScan(basePackages="xxxxx")
4、@Component标注的类下使用@Value读取配置的值失败。修改如下:
SpringBoot学习:注解
spring学习最重要的就是注解吧。。。
1.Bean的声明
@Component组件,没有明确的角色。
@Service在业务逻辑层(service层)使用。
@Repository在数据访问层(dao层)使用。
@Controller在展现层(MVC→Spring MVC)使用。
特别说明:
在声明普通Bean的时候,使用@Component、@Service、@Repository和@Controller是等同的,因为@Service、@Repository、@Controller都组合了@Compoment元注解;
但在Spring MVC声明控制器Bean的时候,只能使用@Controller。
@Controller将其声明为Spring的一个Bean,并将Web请求映射到注解了@RequestMapping的方法上
例子:
@Control ler
@RequestMapping ( ”/test")
public class HelloworldController {
@RequestMapping ( ”/index.html ” )
public String say (Model model) {
model.addAttribute ( ”name”,”hello,world" ) ;
return ”/index.btl ”;
}
}
如以上代码所示,@Controller 作用于类上, 表示这是一个MVC 中的Controller 。
@RequestMapping 既可以作用在方法上, 也可以作用在类上。如上例所示,用户如果访问/test/index.html ,则会交给HelloworldController.say 方法来处理。
2.Bean的注入
@Autowired
可注解在set方法上或者属性上,笔者习惯注解在属性上,优点是代码更少、层次更清晰
3.常用注解说明
@RestController 相当于@Controller和@ ResponseBody
以上是关于Springboot @Component 使用@Autowired引用bean失败的主要内容,如果未能解决你的问题,请参考以下文章
(Framework7 移动webapp) Springboot 入门培训 8 Component 模板MVVM与AJAX
springboot component注入servecie