{"id":14107,"date":"2024-03-15T08:27:41","date_gmt":"2024-03-15T08:27:41","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/"},"modified":"2025-08-06T03:57:09","modified_gmt":"2025-08-06T03:57:09","slug":"how-does-spring-boot-test-load-the-main-application-class","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/","title":{"rendered":"Spring Boot Test: Load Main Class"},"content":{"rendered":"<p>When conducting unit tests using Spring Boot, it is necessary to load the main class in order to access the Spring Boot context environment and its corresponding configurations. There are various methods for loading the main class for testing, here are a few commonly used ones:<\/p>\n<ol>\n<li>By using the @SpringBootTest annotation in a test class, the Spring Boot context environment will be automatically loaded by starting the class.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@SpringBootTest<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyTest<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u6d4b\u8bd5\u4ee3\u7801<\/span>\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Specify the startup class using the @SpringBootTest annotation: If there are multiple startup classes, you can use the classes attribute to specify which one to load.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@SpringBootTest(classes = MyApplication.class)<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyTest<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u6d4b\u8bd5\u4ee3\u7801<\/span>\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Using the @ContextConfiguration annotation: load the startup class with the @ContextConfiguration annotation and specify its location.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@RunWith(SpringRunner.class)<\/span>\r\n<span class=\"hljs-meta\">@ContextConfiguration(classes = MyApplication.class)<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyTest<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u6d4b\u8bd5\u4ee3\u7801<\/span>\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>The SpringApplicationConfiguration annotation can be used to load the main class in earlier versions of Spring Boot.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@RunWith(SpringJUnit4ClassRunner.class)<\/span>\r\n<span class=\"hljs-meta\">@SpringApplicationConfiguration(classes = MyApplication.class)<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyTest<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u6d4b\u8bd5\u4ee3\u7801<\/span>\r\n}\r\n<\/code><\/pre>\n<p>All of these methods can be used to load the startup class for testing, simply choose the appropriate method based on the specific circumstances.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When conducting unit tests using Spring Boot, it is necessary to load the main class in order to access the Spring Boot context environment and its corresponding configurations. There are various methods for loading the main class for testing, here are a few commonly used ones: By using the @SpringBootTest annotation in a test class, [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[18993,132,18992,18994,134],"class_list":["post-14107","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-springboottest","tag-java-testing","tag-spring-boot-testing","tag-spring-context","tag-unit-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spring Boot Test: Load Main Class - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn essential methods to load main application class in Spring Boot tests using @SpringBootTest for effective context access.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Boot Test: Load Main Class\" \/>\n<meta property=\"og:description\" content=\"Learn essential methods to load main application class in Spring Boot tests using @SpringBootTest for effective context access.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T08:27:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T03:57:09+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emily Johnson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"Spring Boot Test: Load Main Class\",\"datePublished\":\"2024-03-15T08:27:41+00:00\",\"dateModified\":\"2025-08-06T03:57:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/\"},\"wordCount\":157,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"@SpringBootTest\",\"Java testing\",\"Spring Boot Testing\",\"Spring Context\",\"unit testing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/\",\"name\":\"Spring Boot Test: Load Main Class - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T08:27:41+00:00\",\"dateModified\":\"2025-08-06T03:57:09+00:00\",\"description\":\"Learn essential methods to load main application class in Spring Boot tests using @SpringBootTest for effective context access.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spring Boot Test: Load Main Class\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Spring Boot Test: Load Main Class - Blog - Silicon Cloud","description":"Learn essential methods to load main application class in Spring Boot tests using @SpringBootTest for effective context access.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/","og_locale":"en_US","og_type":"article","og_title":"Spring Boot Test: Load Main Class","og_description":"Learn essential methods to load main application class in Spring Boot tests using @SpringBootTest for effective context access.","og_url":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T08:27:41+00:00","article_modified_time":"2025-08-06T03:57:09+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"Spring Boot Test: Load Main Class","datePublished":"2024-03-15T08:27:41+00:00","dateModified":"2025-08-06T03:57:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/"},"wordCount":157,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["@SpringBootTest","Java testing","Spring Boot Testing","Spring Context","unit testing"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/","url":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/","name":"Spring Boot Test: Load Main Class - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T08:27:41+00:00","dateModified":"2025-08-06T03:57:09+00:00","description":"Learn essential methods to load main application class in Spring Boot tests using @SpringBootTest for effective context access.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-does-spring-boot-test-load-the-main-application-class\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Spring Boot Test: Load Main Class"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=14107"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14107\/revisions"}],"predecessor-version":[{"id":158128,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14107\/revisions\/158128"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=14107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=14107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=14107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}