Um ein herkömmliches Spring-Projekt auszuführen, müssen Sie nicht nur verschiedene Abhängigkeiten importieren, sondern auch verschiedene XML-Konfigurationsdateien konfigurieren, was jedoch auch ohne das Spring Boot-Projekt sehr umständlich ist Das Schreiben von beliebigem Code kann dank des Starter-Mechanismus von Spring Boot direkt und ohne Konfiguration ausgeführt werden. Spring Boot extrahiert verschiedene Szenarien in der täglichen Entwicklung von Unternehmensanwendungen und macht sie nacheinander zu Startern. Es integriert verschiedene Abhängigkeiten, die dabei verwendet werden können Szenario: Benutzer müssen nur die Starter-Abhängigkeit in Maven einführen, und SpringBoot kann die zu ladenden Informationen automatisch scannen und die entsprechende Standardkonfiguration starten. Der Starter bietet eine große Menge automatischer Konfigurationen und befreit Benutzer von der Mühe, sich mit verschiedenen Abhängigkeiten und Konfigurationen auseinanderzusetzen. Alle diese Starter folgen den herkömmlichen Standardkonfigurationen und ermöglichen es Benutzern, diese Konfigurationen anzupassen, d. h. nach dem Prinzip „
Konvention ist größer als Konfiguration“Nicht alle Starter werden offiziell von Spring Boot bereitgestellt, und es gibt auch einige Starter Es wird von Technologie-Drittanbietern wie druid-spring-boot-starter und mybatis-spring-boot-starter usw. bereitgestellt. Natürlich gibt es auch einzelne Technologien von Drittanbietern, die offiziell keinen Starter bereitstellen, und auch Technologieanbieter von Drittanbietern bieten keinen Starter an Daher müssen Sie bei der Verwendung von Spring Boot zum Entwickeln eines Webprojekts nur den Starter einführen, ohne zusätzlich den Webserver und andere Webabhängigkeiten zu importieren
<!--SpringBoot父项目依赖管理--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.13</version> <relativePath/> </parent> <dependencies> <!--导入 spring-boot-starter-web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ... </dependencies> </project>
Möglicherweise liegt ein Problem vor. In der Konfiguration der obigen pom.xml wird bei der Einführung der Abhängigkeit spring-boot-starter-web ihre Version nicht angegeben, aber im Abhängigkeitsbaum sehen wir, dass alle Abhängigkeiten Versionsinformationen haben. Wo werden diese Versionsinformationen gesteuert? ?
Tatsächlich werden diese Versionsinformationen einheitlich von
spring-boot-starter-parent(Version Arbitration Center) kontrolliert.
spring-boot-starter-parent
spring-boot-starter-parent ist die übergeordnete Abhängigkeit aller Spring Boot-Projekte. Es wird als Versionsvermittlungszentrum von Spring Boot bezeichnet und kann einige allgemeine Abhängigkeiten innerhalb des Projekts verarbeiten. Einheitliche Verwaltung. <!--SpringBoot父项目依赖管理-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
Standard-JDK-Version (Java 8)
Standardzeichensatz (UTF- 8) Funktion zur Abhängigkeitsverwaltung
1.1 SpringBoot Festlegen der Portnummerserver: port: 8989 #配置端口
server: servlet: context-path: /springboot #配置项目的虚拟路径(根路径) 项目名使用/开头
spring: profiles: active: dev #开发环境
# 显示sql logging: level: cn.kgc.springboot.mapper: debug #开启日志
1.5 SpringBoot implementiert Hot Deployment
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
3. Konfigurieren Sie die application.yml-Datei
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <!-- 如果devtools不生效 请设置该属性 --> </configuration> </plugin> </plugins> </build>
devtools: restart: enabled: true #开启热部署
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.12</version> </dependency> ---------------------------------------------- <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency>
So verwaltet Springboot Objekte:
Attributinjektion
Frühlings-Original-Injektionsmethode
1.set-Methode2.Konstruktor3.automatische Injektionname: tom age: 30 price: 23.5 sex: true birth: 2021/11/28 12:12:12 array: 12,13,15,17 list: 李四,lisi,tom map: "{'aa':30,'bb':'lisi'}" # 注入map使用json格式 取值的个数#{${map}}
对象的注入
object: name: lisi age: 20 birth: 2021/11/24
@Controller @RequestMapping("/inject2") @ConfigurationProperties("object") public class InjectController2 { private String name; private Integer age; private Date birth; public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void setBirth(Date birth) { this.birth = birth; } @RequestMapping("/inject") @ResponseBody public String inject(){ System.out.println(name); System.out.println(age); System.out.println(birth); return "ok"; } }
注意:添加一下依赖,可以再写yaml文件时提示,消除红色的警告提示。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
引入依赖
<!-- 标准标签库--> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 让springboot内置的tomcat具有解析jsp的能力--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency>
配置视图解析器
spring: mvc: view: prefix: / suffix: .jsp
设置不重启项目 刷新jsp页面
server: servlet: jsp: init-parameters: development: true # 修改jsp页面无需重新启动项目
集成后无法访问jsp页面解决方案
1.添加插件
<build> <resources> <!--注册webapp目录为资源目录--> <resource> <directory>src/main/webapp</directory> <targetPath>META-INF/resources</targetPath> <includes> <include>**/*.*</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2.设置工作目录
3.插件启动
引入依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency>
编写配置文件
spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver username: root password: root url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf-8
mybatis配置
mybatis: mapper-locations: classpath:mapper/*.xml #设置mapper文件的位置 type-aliases-package: cn.kgc.springboot.entity # 起别名 configuration: map-underscore-to-camel-case: true #开启驼峰命名
设置dao接口的扫描
1.在入口类上使用注解,完成扫描
@SpringBootApplication @MapperScan("cn.kgc.springboot.dao") //扫描dao接口所在的包 同时生成代理对象 注入spring容器 public class Springday02Application { public static void main(String[] args) { SpringApplication.run(Springday02Application.class, args); } }
Das obige ist der detaillierte Inhalt vonWie integriert Java SpringBoot JSP und MyBatis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!