此问题在此处已有答案:
Lifecycle method of spring bean after bean is created(2个答案)
3小时前关门。
我正在用java为我的控制器实现一个service
。这个服务用几个方法实现一个接口,其中每个方法执行不同的逻辑。(他们必须调用另一个@服务)我想知道是否有任何方法来重构这个,也就是说,删除它们与我服务的类中的一个方法的公共逻辑,该方法在开始时只执行一次。
我正在寻找类似于以下内容的内容:
public class myClass implements myInterface{
private String stringToFill="";
@Before
public doSomeLogig(){
// call another service
stringToFill = "filled";
}
public getAll(){
...
//here I should use stringToFill, with value 'filled'
}
public getId(){
//here I should use stringToFill, with value 'filled'
...
}
public create(){
//here I should use stringToFill, with value 'filled'
...
}
}
2条答案
按热度按时间x7rlezfr1#
有一个名为@PostConstruct的spring生命周期注解,在类中编写一个方法,并在此方法中添加所有一次性执行逻辑,然后使用@PostConstruct注解对其进行注解,一旦Bean初始化,spring将自动调用此方法。
dced5bon2#
使用AOP,你可以在很多不同的场景中调用一个方法,包括你所描述的场景。
您还可以定义一个自定义注解,如@Before,为您做魔术。