Pada Musim Bunga, kacang sering dikonfigurasikan menggunakan anotasi untuk memudahkan suntikan kebergantungan dan pengimbasan laluan kelas. Walau bagaimanapun, jika anda perlu menyuntik nilai sifat daripada sumber luaran seperti fail sifat, anda mungkin menghadapi cabaran.
Pertimbangkan kelas Java yang dianotasi sebagai Spring bean:
@Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted }
Kacang ini dikonfigurasikan melalui anotasi dan anda mahu menyuntik nilai sifat daripada fail app.properties ke dalamnya. Walau bagaimanapun, kerana kacang tidak diisytiharkan dalam fail XML Spring,
Spring menyediakan sokongan EL (Bahasa Ungkapan) yang membolehkan suntikan sifat terus ke dalam kacang beranotasi. Untuk melakukan ini:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.23</version> </dependency>
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { @Value("${results.max}") private int maxResults; // Implementation omitted }
Anda juga boleh menggunakan @Value untuk menyuntik sifat daripada objek Sifat:
@Autowired private Properties myProperties; @Value("#{myProperties['github.oauth.clientId']}") private String githubOauthClientId;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyuntik Nilai Harta ke dalam Kacang yang Dikonfigurasikan dengan Anotasi pada Musim Bunga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!