使用 @Autowired
注解自动装配 bean,要想把类标识成可用于 @Autowired
注解自动装配的 bean 的类,采用以下注解可实现:
@Component
:通用的注解,可标注任意类为 Spring
组件。如果一个 Bean 不知道属于哪个层,可以使用 @Component
注解标注。@Repository
: 对应持久层即 Dao 层,主要用于数据库相关操作。@Service
: 对应服务层,主要涉及一些复杂的逻辑,需要用到 Dao 层。@Controller
: 对应 Spring MVC 控制层,主要用户接受用户请求并调用 Service 层返回数据给前端页面。set()
方法设置一些属性值。BeanNameAware
接口,调用 setBeanName()
方法,传入 Bean 的名字。BeanClassLoaderAware
接口,调用 setBeanClassLoader()
方法,传入 ClassLoader
对象的实例。BeanFactoryAware
接口,调用 setBeanClassLoader()
方法,传入 ClassLoader
对象的实例。*.Aware
接口,就调用相应的方法。BeanPostProcessor
对象,执行 postProcessBeforeInitialization()
方法InitializingBean
接口,执行 afterPropertiesSet()
方法。init-method
属性,执行指定的方法。BeanPostProcessor
对象,执行postProcessAfterInitialization()
方法DisposableBean
接口,执行 destroy()
方法。Spring Bean 生命周期
Spring Bean 生命周期