我的问题是:为什么这段代码正确设置了构造函数参数属性port:
private final RedisServer redisServer;
public RedisTestConfiguration(@Value("${cache.port}") final int port) {
this.redisServer = new RedisServer(port);
}
Run Code Online (Sandbox Code Playgroud)
据我了解,@Value("${cache.port}")是由名为 AutowiredAnnotationBeanPostProcessor 的 BeanPostProcessor 解决的。Spring bean 生命周期的工作方式是在任何 BeanPostProcess 之前调用构造函数方法,请参见下图。注意构造函数在 BeanPostProcessor.postProcessBeforeInitialization() 之前被调用。
这怎么还在工作?
问候,
巴特
在 angular@Input属性上结合[propertyNameInParent] = ”propertyNameInChild”允许我们将父属性的值绑定到子属性。也称为单向绑定。奇怪的是,就我而言,它也在更新父类中的属性。这怎么可能?
父组件 -> 收藏夹城市子组件 -> 城市详细信息
所以基本上在(点击)事件中,最喜欢的城市是选择(selectedCity 属性)。然后在城市详细信息组件中,城市可以通过单击onPlusIconClick()。不知何故,这也触发了最喜欢城市的 city.rating 上升。为什么我不必使用事件发射器将更新后的值发送回父组件?
最喜欢的城市.component.ts
import {Component, OnInit} from '@angular/core';
import {CitiesService} from '../../services/cities.service';
import {City} from '../../model/city';
@Component({
selector: 'app-favorite-cities',
templateUrl: './favorite-cities.component.html',
styleUrls: ['./favorite-cities.component.css']
})
export class FavoriteCitiesComponent implements OnInit {
cities: City[];
selectedCity: City;
constructor(private citiesService: CitiesService) {
}
ngOnInit() {
this.citiesService.getCities().subscribe(
(data) => this.cities = data,
(err) => console.log(err),
() => { }
);
}
setSelectedCity(city: City): void {
this.selectedCity = city; …Run Code Online (Sandbox Code Playgroud)