当前位置: 代码迷 >> 综合 >> Spring @value @Scope @PostConstruct @predestory
  详细解决方案

Spring @value @Scope @PostConstruct @predestory

热度:32   发布时间:2023-11-27 11:50:16.0

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;}@PostConstructpublic void init() {System.out.println("初始化方法执行");}@PreDestroypublic void destroy() {System.out.println("销毁方法执行");}@Overridepublic String queryUser() {return dao.queryUser();}}

 

  相关解决方案