admin管理员组文章数量:1794759
SpringBoot 常用注解
SpringBoot 常用注解 – 容器配置 注解
摘自:mp.weixin.qq/s/dWIO1bfmMhVWo1ZPVIS09Q
@Autowired 说明:@Autowired注解用于标记Spring将要解析和注入的依赖项。此注解可以作用在构造函数、字段和setter方法上。
示例(作用于构造函数) @RestController public class UserController { private UserService userService; @Autowired UserController(UserService userService){ this.userService userService; } } 示例(作用于setter方法) @RestController public class UserController{ private UserService userService; @Autowired public void setUserService(UserService userService){ this.userService userService; } } 示例(作用于字段) @RestController public class UserController { @Autowired private UserService userService; // .. } @Primary 说明:当系统中需要配置多个具有相同类型的bean时,@Primary可以定义这些Bean的优先级。
示例: public interface Messageservice { String sendMessage(); } @Component public class EmailMessageServiceImpl implements Messageservice { @Override public string sendMessage(){ return "this is send email method message."; } } @Component public class WechatMessageImpl implements Messageservice { @Override public String sendMessage(){ return "this is send wechat method message."; } } @Primary @Component public class DingDingMessageImple implements Messageservice{ @Override public String sendMessage(){ return "this is send DingDing method message."; } } @RestController public class MessageController{ @Autowired private MessageService messageService; @GetMapping("/info") public string info(){ return messageService.sendMessage(); } }输出结果:this is send DingDing method message.
@PostConstruct与@PreDestroy 说明:值得注意的是,这两个注解不属于Spring,它们是源于JSR-250中的两个注解,位于common-annotations.jar中。@PostConstruct注解用于标注在Bean被Spring初始化之前需要执行的方法。@PreDestroy注解用于标注Bean被销毁前需要执行的方法。
示例: @Component public class DemoComponent { private List<string>list = new ArrayList(); @PostConstruct public void init(){ list.add("hello"); list.add("world"); } @PreDestroy public void destroy(){ list.clear() } } @Qualifier 说明:当系统中存在同一类型的多个Bean时,@Autowired在进行依赖注入的时候就不知道该选择哪一个实现类进行注入。此时,我们可以使用@Qualifier注解来微调,帮助@Autowired选择正确的依赖项。
示例: public interface MessageService { public String sendMessage(String message); } @Service("emailService") public class EmailServiceImple implements Messageservice { @Override public String sendMessage(String message){ return "send email,content:"+message; } } @Service("smsService") public class SMSServiceImpl implements Messageservice{ @Override public String sendMessage(String message){ return "send SMS,content:"+message; } } public interface MessageProcessor { public String processMessage(String message); } public class MessageProcessorImpl implements MessageProcessor{ private MessageService messageService; @Autowired @Qualifier("emailService") public void setMessageService(MessageService messageService){ this.messageService messageservice; } @Override public String processMessage(String message){ return messageService.sendMessage(message); } }本文标签: 注解常用SpringBoot
版权声明:本文标题:SpringBoot 常用注解 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686808402a105538.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论