Spring bean @Required注解作用详解
2017-12-12 18:34
351 查看
作用
@Required注解作用于Bean
setter方法上,用于检查一个Bean的属性的值在配置期间是否被赋予或设置(populated)
配置
使用<context:annotation-config/>隐式地注册
RequiredAnnotationBeanPostProcessor,使
@Required注解生效
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" default-lazy-init="true"> <context:annotation-config/> <bean id="resultMessage" class="com.jake.ResultMessage"> <property name="code" value="001" /><!--此处只设置了code属性,无message属性--> </bean> </beans>
ResultMessage
在code和
message的
setter方法上加上
@Required注解
public class ResultMessage { private String code; private String message; public String getCode() { return code; } @Required public void setCode(String code) { this.code = code; } public String getMessage() { return message; } @Required public void setMessage(String message) { this.message = message; } }
测试
@Controller public class Test{ @Autowired private ResultMessage message; @RequestMapping("/testRequired") public String testRequired(HttpServletRequest req, HttpServletResponse resp) { System.out.println(message); } }
结果
此时访问testRequired,可以看到,报
BeanInitializationException异常。
org.springframework.beans.factory.BeanInitializationException: Properties 'message' are required for bean 'resultMessage'
参考资料
https://docs.spring.io/spring/docs/4.0.x/spring-framework-reference/html/beans.html#beans-required-annotation相关文章推荐
- [转]Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域
- Spring IoC容器中Bean的作用范围详解
- Spring各种注解标签作用详解
- Spring整理系列 - @Configuration注解、@Bean注解以及配置自动扫描、bean作用域
- Spring 学习之三 bean 使用注解 种类 作用域
- Spring @Autowired,@Resource,@Required注解的用法和作用
- JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试
- Spring @Autowired,@Resource,@Required注解的用法和作用(转)
- J2EE系列之Spring4学习笔记(六)--IOC详解(bean之间的关系,bean的作用范围)
- Spring 框架 详解 (四)------IOC装配Bean(注解方式)
- Java框架spring 学习笔记(九):Spring的bean管理(@Required、@Component、@Autowired、@Resource注解)
- Spring @Autowired,@Resource,@Required注解的用法和作用
- Spring @Autowired,@Resource,@Required注解的用法和作用
- 详解Spring中bean的作用域
- Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域
- Spring-基于注解的配置[03Bean作用范围和生命周期方法]
- Spring-Bean作用域scope详解
- Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域
- spring的bean作用域详解
- Spring-bean作用域scope详解