Question: ```
class Employee:
    def __init__(self, name, salary, increment):
        self.name = name
        self.salary = salary
        self.increment = increment

    @property
    def salaryafterIncre(self):
        return self.salary * (1+self.increment)

    @salaryafterIncre.setter
    def salaryafterIncre(self):
        self.salary = self.salary * (1+self.increment)

e1 = Employee("shubh", 10000, 0.1)
print(e1.salaryafterIncre)
e1.salaryafterIncre()
print(e1.salary)

```

Answer: 
What about

```java
@Configuration
public class Config {

  @Bean
  public RestTemplate restTemplate() {
    return new RestTemplate();
  }

  @Bean
  public ModelMapper modelMapper(final CurrencyConverterService currencyConverter) {
    ModelMapper modelMapper = new ModelMapper();
    ...
  }
  ...
}

```

when you create a bean you can pass other beans as parameter
You can write @Lazy at the top of the @Autowired in of the class where you are injecting dependencies.
As that will break the cycle.
However you have to write it on the top of @Autowired