Spring @value @Scope @PostConstruct @predestory
Posted 吃人陈乐游刘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring @value @Scope @PostConstruct @predestory相关的知识,希望对你有一定的参考价值。
1.@value
2.@Scope
作用: 用于指定bean的作用范围 属性: value:指定范围的取值 取值: singleton prototype request session globalsession@PostConstruct
构造方法之后调用(类似mybatis里面的@BeforeEach注解)
@predestory
销毁对象之前调用(类似mybatis里面的@AfterEach注解)
注意;@AfterEach和@BeforeEach是Junit5情况下的
/*
* 注入Bean类型
* 1、Autowired:自动装配,可以根据类型来实现自动注入,如果存在多个相同类型的bean,则会按照变量名继续查找
* 2、Qualifier:修饰符,和Autowired注解搭配使用,在自动装配的基础上,按照指定的名称进行查找
* 3、Resource:直接按照Bean的id进行查找
*
*
* @Scope:指定Bean的作用范围,主要取值:singleton(单例)、prototype(多例)
*/
@Service("userService")
@Scope("prototype")
public class UserServiceImpl implements IUserService
private IUserDao dao;
/**
* Spring对于带参构造方法,默认采用了自动装配的策略,也就是说:
* 构造该对象时,如果参数是一个引用类型,将会自动从容器中查找同类型的对象来自动注入
* 如果同类型的变量有多个,则需要在构造函数的参数前加注解来标明!!
* @param dao
*/
public UserServiceImpl(@Qualifier("userDao") IUserDao dao)
super();
this.dao = dao;
@PostConstruct
public void init()
System.out.println("初始化方法执行");
@PreDestroy
public void destroy()
System.out.println("销毁方法执行");
@Override
public String queryUser()
return dao.queryUser();
以上是关于Spring @value @Scope @PostConstruct @predestory的主要内容,如果未能解决你的问题,请参考以下文章
Spring @value @Scope @PostConstruct @predestory