Tôi có một ứng dụng Khởi động mùa xuân. Tôi đã thêm rất nhiều phụ thuộc (không may, có vẻ tôi cần tất cả chúng) và thời gian khởi động đã tăng lên khá nhiều. Chỉ cần thực hiện SpringApplication.run(source, args)
mất 10 giây.Tăng tốc thời gian khởi động Khởi động mùa xuân
Trong khi đó có thể không được nhiều so với những gì được "sử dụng" để, tôi không hài lòng rằng phải mất nhiều, chủ yếu là bởi vì nó phá vỡ dòng chảy phát triển. Bản thân ứng dụng này khá nhỏ vào thời điểm này, vì vậy tôi cho rằng phần lớn thời gian liên quan đến các phụ thuộc được thêm vào, chứ không phải các lớp ứng dụng.
tôi giả sử vấn đề là quét classpath, nhưng tôi không chắc chắn làm thế nào để:
- Xác nhận rằng là vấn đề (ví dụ: làm thế nào để "gỡ rối" Mùa xuân Boot)
- Nếu nó thực sự là nguyên nhân , làm thế nào tôi có thể giới hạn nó, vì vậy nó được nhanh hơn? Ví dụ, nếu tôi biết rằng một số phụ thuộc hoặc gói không chứa bất cứ điều gì mà Spring nên được quét, có cách nào để hạn chế điều đó không?
Tôi giả định này:
sẽ đẩy nhanh tiến độ điều, nhưng nó thậm chí không triaged vào thời điểm này. Tôi thấy một số nỗ lực khác trong mùa xuân Boot chính nó, ví dụ .:
nhưng điều này có vẻ Tomcat cụ thể.
bài viết này:
mặc dù nhằm mục đích thử nghiệm hội nhập, đề nghị sử dụng lazy-init=true
, tuy nhiên tôi không biết làm thế nào để áp dụng điều này cho tất cả các hạt cà phê trong mùa xuân Boot sử dụng cấu hình Java - bất kỳ con trỏ ở đây?
Bất kỳ đề xuất nào (khác) sẽ được hoan nghênh.
bài viết mã của bạn. Thông thường chỉ gói phần mềm ứng dụng được xác định là được quét. Nếu bạn có các gói khác được định nghĩa cho '@ ComponentScan', các gói đó cũng được quét. Một điều nữa là đảm bảo rằng bạn chưa bật gỡ lỗi hoặc theo dõi ghi nhật ký vì thường ghi nhật ký chậm, rất chậm. –
Nếu bạn sử dụng Hibernate nó cũng có xu hướng ăn thời gian đáng kể khi bắt đầu ứng dụng. –
Tự động liên kết của Spring theo loại kết hợp với các hạt của nhà máy có khả năng làm chậm một khi bạn thêm nhiều đậu và phụ thuộc. –