Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/99196
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor李允中zh_TW
dc.contributor.advisorJonathan Leeen
dc.contributor.author葉晟育zh_TW
dc.contributor.authorCheng-Yu Yehen
dc.date.accessioned2025-08-21T16:46:08Z-
dc.date.available2025-08-22-
dc.date.copyright2025-08-21-
dc.date.issued2025-
dc.date.submitted2025-08-04-
dc.identifier.citationSpring application properties. https://docs.spring.io/spring-boot/appendix/application-properties/index.html.
Spring security, servlet architecture. https://docs.spring.io/spring-security/reference/servlet/architecture.html.
Spring security, servlet architecture. https://docs.spring.io/spring/reference/core/aot.html.
M. Gajewski and W. Zabierowski. Analysis and comparison of the spring framework and play framework performance, used to create web applications in java. In 2019 IEEE XVth International Conference on the Perspective Technologies and Methods in MEMS Design (MEMSTECH), pages 170–173, 2019.
J.-C. Hsu. Auto-transform xml namespaces to java annotations in spring. Master’s thesis, National Taiwan University, 2024.
R. Khadka, B. V. Batlajery, A. M. Saeidi, S. Jansen, and J. Hage. How do professionals perceive legacy systems and software modernization? In Proceedings of the 36th International Conference on Software Engineering, pages 36–47, 2014.
R. Khadka, A. Saeidi, S. Jansen, and J. Hage. A structured legacy to soa migration process and its evaluation in practice. In 2013 IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems, pages 2–11. IEEE, 2013.
R. Laigner, M. Kalinowski, L. Carvalho, D. Mendonça, and A. Garcia. Towards a catalog of java dependency injection anti-patterns. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, pages 104–113, 2019.
R. Laigner, D. Mendonça, A. Garcia, and M. Kalinowski. Cataloging dependency injection anti-patterns in software systems. Journal of Systems and Software, 184:111125, 2022.
M. Mythily, A. Samson Arun Raj, and I. Thanakumar Joseph. An analysis of the significance of spring boot in the market. In 2022 International Conference on Inventive Computation Technologies (ICICT), pages 1277–1281, 2022.
E. Razina and D. S. Janzen. Effects of dependency injection on maintainability. In Proceedings of the 11th IASTED International Conference on Software Engineering and Applications: Cambridge, MA, page 7, 2007.
H. Rocha and M. T. Valente. How annotations are used in java: An empirical study. In SEKE, pages 426–431, 2011.
T. Sharma, G. Suryanarayana, and G. Samarthyam. Challenges to and solutions for refactoring adoption: An industrial perspective. IEEE Software, 32(6):44–51, 2015.
L. Sousa, D. Cedrim, A. Garcia, W. Oizumi, A. C. Bibiano, D. Oliveira, M. Kim, and A. Oliveira. Characterizing and identifying composite refactorings: Concepts, heuristics and patterns. In Proceedings of the 17th International Conference on Mining Software Repositories, pages 186–197, 2020.
P. Späth, I. Cosmina, R. Harrop, and C. Schaefer. Introducing ioc and di in spring. In Pro Spring 6 with Kotlin: An In-depth Guide to Using Kotlin APIs in Spring Framework 6, pages 41–101. Springer, 2023.
C.-A. Sun, Y. Gong, M. Li, L. Xu, J. Han, and Y. Han. Detecting inconsistencies in microservice-based systems: An annotation-assisted scenario-oriented approach. IEEE Transactions on Services Computing, 2024.
C. Walls. Spring in action. Simon and Schuster, 2022.
Z. Yu, C. Bai, L. Seinturier, and M. Monperrus. Characterizing the usage, evolution and impact of java annotations in practice. IEEE Transactions on Software Engineering, 47(5):969–986, 2019.
-
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/99196-
dc.description.abstract在開發服務導向架構(SOA)之應用程式中,Spring Framework 成為了重要的基石,提供了各式各用的功能,藉此提高了程式的開發效率。與此同時, Spring Boot 因其「常規優於配置」的方式而廣受歡迎,該方式依賴 Java 註解來簡化開發與部署流程。Spring Boot 的蓬勃發展反映了採用微服務與雲原生架構的更廣泛趨勢。一篇近期的數據調查反應近74\%的企業正在使用或計劃使用 Spring Boot 來實作微服務,而傳統的 Spring Framework 的使用則相對較少。

因此,這篇論文提出了一系列的流程,將一個基於 Spring 框架開發的網路應用程式遷移至 Spring Boot 平台,並且啟用各種 Spring Boot 自動配置之功能。此流程將搭配著回歸測試、bean 定義驗證、 bean 實例驗證以及 Java 物件驗證,以確保流程中各步驟之正確性。
zh_TW
dc.description.abstractThe Spring Framework has been a cornerstone in developing service-oriented Java enterprise applications, offering a rich feature set that enhances efficiency. In response, Spring Boot has gained popularity for its convention-over-configuration approach, which relies on Java annotations to simplify development and deployment processes. This shift reflects a broader trend toward adopting microservices and cloud-native architectures. A recent survey highlighted that 74\% of enterprises are either using or planning to use Spring Boot for microservices, while the traditional Spring framework sees limited use. This paper proposes a process for migrating Spring Framework web applications to Spring Boot and presents the results of enabling Spring Boot auto-configurations. The correctness of the migration process is validated through regression testing, bean definition verification, bean instance verification, and Java object verification.en
dc.description.provenanceSubmitted by admin ntu (admin@lib.ntu.edu.tw) on 2025-08-21T16:46:08Z
No. of bitstreams: 0
en
dc.description.provenanceMade available in DSpace on 2025-08-21T16:46:08Z (GMT). No. of bitstreams: 0en
dc.description.tableofcontentsVerification Letter from the Oral Examination Committee i
Acknowledgements ii
摘要 iii
Abstract iv
Contents v
List of Figures ix
List of Tables x
Chapter 1 Introduction 1
Chapter 2 Background Work 3
2.1 Dependency Management 3
2.2 Auto-configuration 3
2.3 Embedded Server 4
2.4 Spring Boot Actuator 4
Chapter 3 Related Work 5
3.1 Dependency Injection 5
3.2 Java Annotation 6
3.3 Refactoring for Software Migration 6
3.4 XML Auto-Transformer 7
Chapter 4 Migration Process 8
4.1 Replace Spring Framework Dependencies 10
4.2 Resolve Version Incompatibilities 11
4.3 Integrate Java annotation-based configurations 11
4.3.1 XML Traverser 12
4.3.2 XML ConRep 12
4.3.3 Java ConRep 13
4.4 Convert the WebApplicationInitializer 13
4.4.1 Changes to WebApplicationInitializer Before and After Migration 14
4.4.2 Conversion Rules for WebApplicationInitializer 15
4.4.2.1 For listeners 15
4.4.2.2 For servlets 16
4.4.2.3 For filters 17
4.5 Introduce the Spring Boot Entry Class 17
4.6 Spring Boot Auto-configuration 18
4.6.1 Spring Boot Actuator 19
4.6.1.1 HTTP Endpoints 19
4.6.1.2 Actuator configurations 19
4.6.1.3 Health indicators 19
4.6.2 Spring Boot AOP 20
4.6.2.1 AOP Annotation 20
4.6.3 Spring Boot Cache 20
4.6.3.1 Cache Manager 20
4.6.3.2 Cache Configurations 20
4.6.4 Spring Boot Integration 21
4.6.4.1 Integration Configuration 21
4.6.4.2 Integration Annotation 21
4.6.5 Spring Boot Data JPA 21
4.6.5.1 Data Source Configuration 21
4.6.5.2 Redis Configuration 22
4.6.5.3 JOOQ Configuration 22
4.6.5.4 Hibernate Configuration 23
4.6.5.5 Entity Classes 23
4.6.6 Spring Boot ActiveMQ 23
4.6.6.1 ActiveMQ Configuration 23
4.6.7 Spring Boot WEB 24
4.6.7.1 WEB Components 24
4.6.7.2 WEB MVC Annotation 24
4.6.8 Spring Boot Security 25
4.6.8.1 DelegatingFilterProxy 25
4.6.8.2 WEB Security Annotation 25
4.6.9 Spring Boot JDBC 26
4.6.9.1 JDBC Configuration 26
4.6.10 Spring Boot Batch 26
4.6.10.1 Batch Components 26
4.6.11 Spring Boot Core 27
4.6.11.1 Logging System 27
4.6.11.2 MessageSource 28
4.6.11.3 Quartz Schedulers 28
4.6.11.4 TaskScheduler and TaskExecutor 28
4.6.12 Search and Remove Those Reside in Spring Framework 28
4.7 Improve the Application Performance 29
4.7.1 Application Profiling Tool 29
4.7.2 Ahead of Time Optimizations 30
Chapter 5 Double-Inspect Verification 33
5.1 Configuration Verification 33
5.1.1 Bean Verification 35
5.1.1.1 Bean Definition Verification 35
5.1.1.2 Bean Instance Verification 39
5.1.2 Java Object Verification 41
5.2 Regression Testing 41
Chapter 6 Conclusion 44
6.1 Summary 44
6.2 Future Work 44
References 46
-
dc.language.isoen-
dc.subject依賴注入zh_TW
dc.subjectSpring Bootzh_TW
dc.subject自動配置zh_TW
dc.subjectSpring Frameworkzh_TW
dc.subject回歸測試zh_TW
dc.subjectAuto-configurationen
dc.subjectSpring Frameworken
dc.subjectDependency Injectionen
dc.subjectSpring Booten
dc.subjectRegression Testingen
dc.title將 Spring Framework 網路應用程式遷移至 Spring Boot 平台zh_TW
dc.titleMigrate Spring Framework Web Applications to Spring Booten
dc.typeThesis-
dc.date.schoolyear113-2-
dc.description.degree碩士-
dc.contributor.oralexamcommittee薛念林;劉建宏;郭忠義;徐國勛zh_TW
dc.contributor.oralexamcommitteeNien-Lin Hsueh;Jian-Hong Liu;JONG-YIH KUO;Kuo-Hsun Hsuen
dc.subject.keywordSpring Framework,Spring Boot,自動配置,回歸測試,依賴注入,zh_TW
dc.subject.keywordSpring Framework,Spring Boot,Auto-configuration,Regression Testing,Dependency Injection,en
dc.relation.page48-
dc.identifier.doi10.6342/NTU202503541-
dc.rights.note同意授權(全球公開)-
dc.date.accepted2025-08-07-
dc.contributor.author-college電機資訊學院-
dc.contributor.author-dept資訊工程學系-
dc.date.embargo-lift2025-08-22-
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-113-2.pdf4.79 MBAdobe PDF檢視/開啟
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved