{"id":24622,"date":"2025-04-19T10:29:00","date_gmt":"2025-04-19T02:29:00","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/24622.html"},"modified":"2025-04-19T10:29:00","modified_gmt":"2025-04-19T02:29:00","slug":"java%e5%ad%a6%e4%b9%a0%e6%80%bb%e7%bb%93%ef%bc%88%e5%85%ab%ef%bc%89%ef%bc%9aspring-boot","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/24622.html","title":{"rendered":"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot"},"content":{"rendered":"<h2 id=\"AdHy-1742110678855\" style=\"text-align:left\">\u4e00\u3001SpringBoot\u7b80\u4ecb<\/h2>\n<p>  \u4f20\u7edfSpring\u5f00\u53d1\u7f3a\u70b9&#xff1a; <\/p>\n<p>  1\u3001\u5bfc\u5165\u4f9d\u8d56\u7e41\u7410 <\/p>\n<p>  2\u3001\u9879\u76ee\u914d\u7f6e\u7e41\u7410 <\/p>\n<p>  Spring Boot\u662f\u5168\u65b0\u6846\u67b6(\u66f4\u50cf\u662f\u4e00\u4e2a\u5de5\u5177&#xff0c;<br \/>\n <span style=\"color:#f33232\">\u811a\u624b\u67b6<\/span>)&#xff0c;\u662fSpring\u63d0\u4f9b\u7684\u4e00\u4e2a\u5b50\u9879\u76ee&#xff0c;<br \/>\n <span style=\"color:#f33232\">\u7528\u4e8e\u5feb\u901f\u6784\u5efaSpring\u5e94\u7528\u7a0b\u5e8f\u3002<\/span> <\/p>\n<p>  \u968f\u7740Spring 3.0\u7684\u53d1\u5e03&#xff0c;Spring \u56e2\u961f\u9010\u6e10\u5f00\u59cb\u6446\u8131XML\u914d\u7f6e\u6587\u4ef6&#xff0c;\u5e76\u4e14\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5927\u91cf\u4f7f\u7528\u201c\u7ea6\u5b9a\u4f18\u5148\u914d\u7f6e\u201d&#xff08;convention over configuration&#xff09;\u7684\u601d\u60f3\u6765\u6446\u8131Spring\u6846\u67b6\u4e2d\u5404\u7c7b\u7e41\u590d\u7eb7\u6742\u7684\u914d\u7f6e\u3002 <\/p>\n<p>  SpringBoot\u7684\u7279\u6027&#xff1a; <\/p>\n<li style=\"text-align:left\">\u8d77\u6b65\u4f9d\u8d56 jar\u5305\u7684\u7ba1\u7406 starter<\/li>\n<li style=\"text-align:left\">\u81ea\u52a8\u914d\u7f6e SpringBoot\u505a\u4e86\u5f88\u591a\u9ed8\u8ba4\u7684\u914d\u7f6e<\/li>\n<li style=\"text-align:left\">\u5185\u7f6etomcat<\/li>\n<h2 id=\"cvcG-1742110678881\" style=\"text-align:left\">\u4e8c\u3001\u521b\u5efaSpringBoot\u9879\u76ee<\/h2>\n<p> <img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"863\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250419022858-68030a6a50468.png\" width=\"782\" \/> <\/p>\n<p> <img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"817\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250419022858-68030a6a96860.png\" width=\"363\" \/> <\/p>\n<h4 id=\"MgBm-1742110678887\" style=\"text-align:left\">1\u3001pom.xml<\/h4>\n<p>&lt;?xml version&#061;&#034;1.0&#034; encoding&#061;&#034;UTF-8&#034;?&gt;<br \/>\n&lt;project xmlns&#061;&#034;http:\/\/maven.apache.org\/POM\/4.0.0&#034; xmlns:xsi&#061;&#034;http:\/\/www.w3.org\/2001\/XMLSchema-instance&#034;<br \/>\n    xsi:schemaLocation&#061;&#034;http:\/\/maven.apache.org\/POM\/4.0.0 https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&#034;&gt;<br \/>\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;<br \/>\n    &lt;parent&gt;<br \/>\n       &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<br \/>\n       &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;<br \/>\n       &lt;version&gt;3.2.5&lt;\/version&gt;<br \/>\n       &lt;relativePath\/&gt; &lt;!&#8211; lookup parent from repository &#8211;&gt;<br \/>\n    &lt;\/parent&gt;<br \/>\n    &lt;groupId&gt;com.situ&lt;\/groupId&gt;<br \/>\n    &lt;artifactId&gt;springboot&lt;\/artifactId&gt;<br \/>\n    &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;<br \/>\n    &lt;name&gt;springboot&lt;\/name&gt;<br \/>\n    &lt;description&gt;springboot&lt;\/description&gt;<br \/>\n    &lt;properties&gt;<br \/>\n       &lt;java.version&gt;17&lt;\/java.version&gt;<br \/>\n    &lt;\/properties&gt;<br \/>\n    &lt;dependencies&gt;<br \/>\n       &lt;!&#8211;Spring\u76f8\u5173\u4f9d\u8d56&#8211;&gt;<br \/>\n       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;spring-boot-starter&lt;\/artifactId&gt;<br \/>\n       &lt;\/dependency&gt;<br \/>\n       &lt;!&#8211;SpringMVC\u76f8\u5173\u4f9d\u8d56&#8211;&gt;<br \/>\n       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;<br \/>\n       &lt;\/dependency&gt;<br \/>\n       &lt;!&#8211; mysql\u9a71\u52a8 &#8211;&gt;<br \/>\n       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;mysql&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;<br \/>\n          &lt;version&gt;8.0.31&lt;\/version&gt;<br \/>\n       &lt;\/dependency&gt;<br \/>\n       &lt;!&#8211; mybatis &#8211;&gt;<br \/>\n       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;org.mybatis.spring.boot&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;mybatis-spring-boot-starter&lt;\/artifactId&gt;f<br \/>\n          &lt;version&gt;3.0.3&lt;\/version&gt;<br \/>\n       &lt;\/dependency&gt;<br \/>\n       &lt;!&#8211;thymeleaf\u76f8\u5173\u4f9d\u8d56&#8211;&gt;<br \/>\n       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;\/artifactId&gt;<br \/>\n       &lt;\/dependency&gt;<br \/>\n       &lt;!&#8211;lombok\u5e2e\u52a9\u6211\u4eec\u751f\u6210\u5b9e\u4f53\u7c7b\u7684\u6784\u9020\u65b9\u6cd5\u3001get\u3001set\u3001toString&#8211;&gt;<br \/>\n       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;lombok&lt;\/artifactId&gt;<br \/>\n          &lt;version&gt;1.18.14&lt;\/version&gt;<br \/>\n          &lt;scope&gt;provided&lt;\/scope&gt;<br \/>\n       &lt;\/dependency&gt;<br \/>\n       &lt;!&#8211; \u5206\u9875\u63d2\u4ef6 &#8211;&gt;<br \/>\n       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;com.github.pagehelper&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;pagehelper-spring-boot-starter&lt;\/artifactId&gt;<br \/>\n          &lt;version&gt;1.4.1&lt;\/version&gt;<br \/>\n       &lt;\/dependency&gt;<\/p>\n<p>       &lt;dependency&gt;<br \/>\n          &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<br \/>\n          &lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;<br \/>\n          &lt;scope&gt;test&lt;\/scope&gt;<br \/>\n       &lt;\/dependency&gt;<br \/>\n    &lt;\/dependencies&gt;<\/p>\n<p>    &lt;build&gt;<br \/>\n       &lt;plugins&gt;<br \/>\n          &lt;plugin&gt;<br \/>\n             &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<br \/>\n             &lt;artifactId&gt;spring-boot-maven-plugin&lt;\/artifactId&gt;<br \/>\n          &lt;\/plugin&gt;<br \/>\n       &lt;\/plugins&gt;<br \/>\n    &lt;\/build&gt;<\/p>\n<p>&lt;\/project&gt;<\/p>\n<h4 id=\"sKJz-1742110731246\">2\u3001SpringbootApplication\u542f\u52a8\u7c7b<\/h4>\n<p>\/\/SpringBoot\u9879\u76ee\u542f\u52a8\u7c7b<br \/>\n&#064;SpringBootApplication<br \/>\n&#064;MapperScan(&#034;com.situ.springboot.mapper&#034;)<br \/>\npublic class SpringbootApplication {<\/p>\n<p>    public static void main(String[] args) {<br \/>\n        SpringApplication.run(SpringbootApplication.class, args);<br \/>\n    }<br \/>\n}<br \/>\n&#064;Controller<br \/>\n&#064;RequestMapping(&#034;\/admin&#034;)<br \/>\npublic class AdminController {<\/p>\n<p>    &#064;RequestMapping(&#034;\/selectAll&#034;)<br \/>\n    &#064;ResponseBody<br \/>\n    public List&lt;Admin&gt; selectAll() {<br \/>\n        System.out.println(&#034;AdminController.selectAll&#034;);<br \/>\n        List&lt;Admin&gt; list &#061; new ArrayList&lt;&gt;();<br \/>\n        Admin admin1 &#061; new Admin();<br \/>\n        admin1.setId(1);<br \/>\n        admin1.setName(&#034;zhangsan&#034;);<br \/>\n        Admin admin2 &#061; new Admin();<br \/>\n        admin2.setId(2);<br \/>\n        admin2.setName(&#034;list&#034;);<br \/>\n        Admin admin3 &#061; new Admin();<br \/>\n        admin3.setId(3);<br \/>\n        admin3.setName(&#034;wangwu&#034;);<br \/>\n        list.add(admin1);<br \/>\n        list.add(admin2);<br \/>\n        list.add(admin3);<br \/>\n        return list;<br \/>\n    }<br \/>\n} <\/p>\n<h4 id=\"kTUk-1742110773279\">3\u3001application.properties<\/h4>\n<p>server.port&#061;8080<\/p>\n<p>#DB Configuration<br \/>\nspring.datasource.driverClassName&#061;com.mysql.cj.jdbc.Driver<br \/>\nspring.datasource.url&#061;jdbc:mysql:\/\/localhost:3306\/blog?useSSL&#061;false&amp;useUnicode&#061;true&amp;characterEncoding&#061;utf8&amp;serverTimezone&#061;GMT%2b8&amp;zeroDateTimeBehavior&#061;CONVERT_TO_NULL<br \/>\nspring.datasource.username&#061;root<br \/>\nspring.datasource.password&#061;1234<\/p>\n<p>spring.mvc.static-path-pattern&#061;\/static\/**<\/p>\n<p>#Spring MyBatis<br \/>\nmybatis.type-aliases-package&#061;com.situ.springboot.pojo<br \/>\nmybatis.mapper-locations&#061;classpath:mapper\/*Mapper.xml<br \/>\nmybatis.configuration.map-underscore-to-camel-case&#061;true<br \/>\n#log<br \/>\nmybatis.configuration.log-impl&#061;org.apache.ibatis.logging.stdout.StdOutImpl <\/p>\n<h4 id=\"9hyO-1742110798450\">4\u3001AdminMapper.xml<\/h4>\n<p>&lt;?xml version&#061;&#034;1.0&#034; encoding&#061;&#034;UTF-8&#034;?&gt;<br \/>\n&lt;!DOCTYPE mapper<br \/>\n        PUBLIC &#034;-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN&#034;<br \/>\n        &#034;http:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd&#034;&gt;<\/p>\n<p>&lt;mapper namespace&#061;&#034;com.situ.springboot.mapper.AdminMapper&#034;&gt;<br \/>\n    &lt;select id&#061;&#034;selectAll&#034; resultType&#061;&#034;Admin&#034;&gt;<br \/>\n        SELECT id,name,password,nick_name,role,image FROM admin<br \/>\n    &lt;\/select&gt;<br \/>\n&lt;\/mapper&gt; <\/p>\n<h2 id=\"fh6F-1742110821499\">\u4e09\u3001Thymeleaf<\/h2>\n<p>&lt;!&#8211;thymeleaf\u76f8\u5173\u4f9d\u8d56&#8211;&gt;<br \/>\n&lt;dependency&gt;<br \/>\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<br \/>\n    &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;\/artifactId&gt;<br \/>\n&lt;\/dependency&gt; <\/p>\n<p>application.properties:<\/p>\n<p>spring.mvc.static-path-pattern&#061;\/static\/**<br \/>\n&lt;!DOCTYPE html&gt;<br \/>\n&lt;html lang&#061;&#034;en&#034; xmlns:th&#061;&#034;http:\/\/www.thymeleaf.org\/&#034;&gt;<br \/>\n&lt;head&gt;<br \/>\n    &lt;title&gt;\u4e3b\u9875 &lt;\/title&gt;<br \/>\n    &lt;link rel&#061;&#034;stylesheet&#034; type&#061;&#034;text\/css&#034; th:href&#061;&#034;&#064;{\/static\/layui\/css\/layui.css}&#034;\/&gt;<br \/>\n    &lt;script th:src&#061;&#034;&#064;{\/static\/layui\/layui.js}&#034; type&#061;&#034;text\/javascript&#034; charset&#061;&#034;utf-8&#034;&gt;&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&#064;Controller<br \/>\n&#064;RequestMapping(&#034;\/page&#034;)<br \/>\npublic class PageController {<\/p>\n<p>    \/**<br \/>\n     * \/page\/user\/add     \/page\/login<br \/>\n     *<br \/>\n     * &#064;return<br \/>\n     *\/<br \/>\n    &#064;RequestMapping(&#034;\/**&#034;)<br \/>\n    public String path(HttpServletRequest request) {<br \/>\n        String requestURI &#061; request.getRequestURI();<br \/>\n        System.out.println(&#034;requestURI: &#034; &#043; requestURI);<br \/>\n        String[] paths &#061; requestURI.split(&#034;\/&#034;);<br \/>\n        \/\/[&#034;&#034;,&#034;page&#034;,&#034;user&#034;,&#034;list&#034;]<br \/>\n        \/\/[&#034;&#034;,&#034;page&#034;,&#034;login&#034;]<br \/>\n        if (paths.length &#061;&#061; 4) {<br \/>\n            return paths[2] &#043; &#034;_&#034; &#043; paths[3];<br \/>\n        } else if (paths.length &#061;&#061; 3) {<br \/>\n            return paths[2];<br \/>\n        } else {<br \/>\n            return &#034;index&#034;;<br \/>\n        }<br \/>\n    }<br \/>\n} <\/p>\n<h2 id=\"DUwa-1742110903774\">\u56db\u3001\u767b\u5f55\u62e6\u622a\u5668<\/h2>\n<p>\/\/\u62e6\u622a\u5668\u7684\u4f5c\u7528&#xff1a;\u6d4f\u89c8\u5668\u8bbf\u95ee\u670d\u52a1\u5668\u7684\u8bf7\u6c42&#xff0c;\u90fd\u8981\u9996\u5148\u7ecf\u8fc7\u62e6\u622a\u5668<br \/>\npublic class LoginInterceptor implements HandlerInterceptor {<\/p>\n<p>    &#064;Override<br \/>\n    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {<br \/>\n        \/\/<\/p>\n<p>        \/\/1.\u5224\u65ad\u7528\u6237\u6709\u6ca1\u6709\u767b\u5f55<br \/>\n        \/\/2.\u5982\u679c\u767b\u5f55\u4e86&#xff0c;\u5c31\u653e\u884c&#xff0c;\u53ef\u4ee5\u8bbf\u95ee\u540e\u53f0\u7684\u8d44\u6e90<br \/>\n        \/\/3.\u5982\u679c\u6ca1\u6709\u767b\u5f55&#xff0c;\u8df3\u8f6c\u5230\u767b\u5f55\u754c\u9762<br \/>\n        HttpSession session &#061; request.getSession();<br \/>\n        Admin admin &#061; (Admin) session.getAttribute(&#034;admin&#034;);<br \/>\n        if (admin &#061;&#061; null) {<br \/>\n            \/\/\u6ca1\u6709\u767b\u5f55&#xff0c;\u8df3\u8f6c\u5230\u767b\u5f55\u754c\u9762<br \/>\n            response.sendRedirect(&#034;\/page\/login&#034;);<br \/>\n            return false;<br \/>\n        }<\/p>\n<p>        \/\/\u5df2\u7ecf\u767b\u5f55&#xff0c;\u653e\u884c<br \/>\n        return true;<br \/>\n    }<br \/>\n} <\/p>\n<p>\u62e6\u622a\u5668\u914d\u7f6e<\/p>\n<p>WebMvcConfigurer\u63d0\u4f9b\u4e86\u914d\u7f6eSpringMVC\u5e95\u5c42\u7684\u6240\u6709\u7ec4\u4ef6\u5165\u53e3<\/p>\n<p>\/\/ &#064;Component    &lt;bean&gt;<br \/>\n\/\/ &#064;Controller  &#064;Service &#064;Repository<br \/>\n\/\/ \u8fd9\u56db\u4e2a\u6ce8\u89e3\u7684\u4f5c\u7528\u662f\u4e00\u6837\u7684&#xff0c;\u4e0b\u9762\u4e09\u4e2a\u4e0d\u4e00\u6837\u4e3b\u8981\u662f\u4e3a\u4e86\u533a\u5206\u4e0d\u540c\u5c42<\/p>\n<p>\/\/ &#064;Configuration\u7528\u4e8e\u5b9a\u4e49\u914d\u7f6e\u7c7b&#xff0c;\u53ef\u4ee5\u66ff\u6362xml\u914d\u7f6e\u6587\u4ef6&#xff0c;<br \/>\n\/\/ \u52a0\u4e86\u8fd9\u4e2a\u6ce8\u89e3\u7684\u7c7b\u7684\u5185\u90e8\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u88ab&#064;Bean\u6ce8\u89e3\u7684\u65b9\u6cd5<br \/>\n&#064;Configuration<br \/>\npublic class WebConfig implements WebMvcConfigurer {<\/p>\n<p>    \/* &lt;bean name&#061;&#034;admin&#034; class&#061;&#034;com.situ.springboot.pojo.Admin&#034;\/&gt;*\/<br \/>\n    &#064;Bean<br \/>\n    public Admin createAdmin() {<br \/>\n        return new Admin();<br \/>\n    }<\/p>\n<p>    \/\/\u914d\u7f6e\u865a\u62df\u8def\u5f84<br \/>\n    &#064;Override<br \/>\n    public void addResourceHandlers(ResourceHandlerRegistry registry) {<br \/>\n        registry.addResourceHandler(&#034;\/pic\/**&#034;)<br \/>\n                .addResourceLocations(&#034;file:\/D:\/mypic\/&#034;);<br \/>\n        WebMvcConfigurer.super.addResourceHandlers(registry);<br \/>\n    }<\/p>\n<p>    \/*&lt;!&#8211; \u914d\u7f6e\u62e6\u622a\u5668 &#8211;&gt;<br \/>\n   &lt;mvc:interceptors&gt;<br \/>\n      &lt;mvc:interceptor&gt;<br \/>\n         &lt;mvc:mapping path&#061;&#034;\/**&#034;\/&gt;<br \/>\n         &lt;mvc:exclude-mapping path&#061;&#034;&#034;\/&gt;<br \/>\n         &lt;bean class&#061;&#034;com.situ.mvc.interceptor.MyInterceptor1&#034;&gt;&lt;\/bean&gt;<br \/>\n      &lt;\/mvc:interceptor&gt;<br \/>\n   &lt;\/mvc:interceptors&gt;*\/<br \/>\n    \/\/ \u8fd9\u4e2a\u65b9\u6cd5\u7528\u6765\u6ce8\u518c\u62e6\u622a\u5668&#xff0c;\u6211\u4eec\u5199\u7684\u62e6\u622a\u5668\u9700\u8981\u5728\u8fd9\u91cc\u914d\u7f6e\u624d\u80fd\u751f\u6548<br \/>\n    &#064;Override<br \/>\n    public void addInterceptors(InterceptorRegistry registry) {<br \/>\n        \/\/\u628a\u767b\u5f55\u7684\u62e6\u622a\u5668\u914d\u7f6e\u4e0a\u624d\u80fd\u8d77\u4f5c\u7528<br \/>\n        \/\/ addPathPatterns(&#034;\/**&#034;) \u62e6\u622a\u5668\u62e6\u622a\u6240\u6709\u7684\u8bf7\u6c42&#xff0c;\u9759\u6001\u8d44\u6e90\u4e5f\u62e6\u622a\u4e86&#xff0c;\u9700\u8981\u653e\u884c<br \/>\n        \/\/ excludePathPatterns \u4ee3\u8868\u54ea\u4e9b\u8bf7\u6c42\u4e0d\u9700\u8981\u62e6\u622a<br \/>\n        registry.addInterceptor(new LoginInterceptor())<br \/>\n                .addPathPatterns(&#034;\/**&#034;)<br \/>\n                .excludePathPatterns(&#034;\/page\/login&#034;, &#034;\/admin\/login&#034;, &#034;\/admin\/logout&#034;, &#034;\/static\/**&#034;);<br \/>\n    }<br \/>\n} <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"559\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250419022858-68030a6ab9279.png\" width=\"1232\" \/><\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb1.3k\u6b21\uff0c\u70b9\u8d5e12\u6b21\uff0c\u6536\u85cf8\u6b21\u3002\u4f20\u7edfSpring\u5f00\u53d1\u7f3a\u70b9\uff1a1\u3001\u5bfc\u5165\u4f9d\u8d56\u7e41\u74102\u3001\u9879\u76ee\u914d\u7f6e\u7e41\u7410Spring Boot\u662f\u5168\u65b0\u6846\u67b6(\u66f4\u50cf\u662f\u4e00\u4e2a\u5de5\u5177\uff0c\u811a\u624b\u67b6)\uff0c\u662fSpring\u63d0\u4f9b\u7684\u4e00\u4e2a\u5b50\u9879\u76ee\uff0c\u7528\u4e8e\u5feb\u901f\u6784\u5efaSpring\u5e94\u7528\u7a0b\u5e8f\u3002\u968f\u7740Spring 3.0\u7684\u53d1\u5e03\uff0cSpring \u56e2\u961f\u9010\u6e10\u5f00\u59cb\u6446\u8131XML\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u4e14\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5927\u91cf\u4f7f\u7528\u201c\u7ea6\u5b9a\u4f18\u5148\u914d\u7f6e\u201d\uff08convention over configuration\uff09\u7684\u601d\u60f3\u6765\u6446\u8131Spring\u6846\u67b6\u4e2d\u5404\u7c7b\u7e41\u590d\u7eb7\u6742\u7684\u914d\u7f6e\u3002_java springboot<\/p>\n","protected":false},"author":2,"featured_media":24619,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[99,98,1915,371],"topic":[],"class_list":["post-24622","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-java","tag-spring-boot","tag-ssmspringboot","tag-371"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\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.wsisp.com\/helps\/24622.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb1.3k\u6b21\uff0c\u70b9\u8d5e12\u6b21\uff0c\u6536\u85cf8\u6b21\u3002\u4f20\u7edfSpring\u5f00\u53d1\u7f3a\u70b9\uff1a1\u3001\u5bfc\u5165\u4f9d\u8d56\u7e41\u74102\u3001\u9879\u76ee\u914d\u7f6e\u7e41\u7410Spring Boot\u662f\u5168\u65b0\u6846\u67b6(\u66f4\u50cf\u662f\u4e00\u4e2a\u5de5\u5177\uff0c\u811a\u624b\u67b6)\uff0c\u662fSpring\u63d0\u4f9b\u7684\u4e00\u4e2a\u5b50\u9879\u76ee\uff0c\u7528\u4e8e\u5feb\u901f\u6784\u5efaSpring\u5e94\u7528\u7a0b\u5e8f\u3002\u968f\u7740Spring 3.0\u7684\u53d1\u5e03\uff0cSpring \u56e2\u961f\u9010\u6e10\u5f00\u59cb\u6446\u8131XML\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u4e14\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5927\u91cf\u4f7f\u7528\u201c\u7ea6\u5b9a\u4f18\u5148\u914d\u7f6e\u201d\uff08convention over configuration\uff09\u7684\u601d\u60f3\u6765\u6446\u8131Spring\u6846\u67b6\u4e2d\u5404\u7c7b\u7e41\u590d\u7eb7\u6742\u7684\u914d\u7f6e\u3002_java springboot\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/24622.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-19T02:29:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250419022858-68030a6a50468.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/24622.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/24622.html\",\"name\":\"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-04-19T02:29:00+00:00\",\"dateModified\":\"2025-04-19T02:29:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/24622.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/24622.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/24622.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","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.wsisp.com\/helps\/24622.html","og_locale":"zh_CN","og_type":"article","og_title":"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb1.3k\u6b21\uff0c\u70b9\u8d5e12\u6b21\uff0c\u6536\u85cf8\u6b21\u3002\u4f20\u7edfSpring\u5f00\u53d1\u7f3a\u70b9\uff1a1\u3001\u5bfc\u5165\u4f9d\u8d56\u7e41\u74102\u3001\u9879\u76ee\u914d\u7f6e\u7e41\u7410Spring Boot\u662f\u5168\u65b0\u6846\u67b6(\u66f4\u50cf\u662f\u4e00\u4e2a\u5de5\u5177\uff0c\u811a\u624b\u67b6)\uff0c\u662fSpring\u63d0\u4f9b\u7684\u4e00\u4e2a\u5b50\u9879\u76ee\uff0c\u7528\u4e8e\u5feb\u901f\u6784\u5efaSpring\u5e94\u7528\u7a0b\u5e8f\u3002\u968f\u7740Spring 3.0\u7684\u53d1\u5e03\uff0cSpring \u56e2\u961f\u9010\u6e10\u5f00\u59cb\u6446\u8131XML\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u4e14\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5927\u91cf\u4f7f\u7528\u201c\u7ea6\u5b9a\u4f18\u5148\u914d\u7f6e\u201d\uff08convention over configuration\uff09\u7684\u601d\u60f3\u6765\u6446\u8131Spring\u6846\u67b6\u4e2d\u5404\u7c7b\u7e41\u590d\u7eb7\u6742\u7684\u914d\u7f6e\u3002_java springboot","og_url":"https:\/\/www.wsisp.com\/helps\/24622.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-04-19T02:29:00+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250419022858-68030a6a50468.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"5 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/24622.html","url":"https:\/\/www.wsisp.com\/helps\/24622.html","name":"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-04-19T02:29:00+00:00","dateModified":"2025-04-19T02:29:00+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/24622.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/24622.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/24622.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"java\u5b66\u4e60\u603b\u7ed3\uff08\u516b\uff09\uff1aSpring boot"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/24622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=24622"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/24622\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/24619"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=24622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=24622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=24622"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=24622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}