Heim > Java > javaLernprogramm > Hauptteil

Wie integriert Java SpringBoot JSP und MyBatis?

王林
Freigeben: 2023-05-11 17:46:06
nach vorne
928 Leute haben es durchsucht

Erste Schritte mit Spring Boot Starter

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
Spring Boot-Projekte können einige vernünftige Standardkonfigurationen erhalten, indem sie Spring-Boot-Starter-Parent erben, das hauptsächlich die folgenden Funktionen bietet:

Standard-JDK-Version (Java 8)

  • Standardzeichensatz (UTF- 8) Funktion zur Abhängigkeitsverwaltung

    1.1 SpringBoot Festlegen der Portnummer
  • server:
      port: 8989 #配置端口
    Nach dem Login kopieren
  • 1.2 SpringBoot-Einstellung des Projektnamens

    server:
      servlet:
        context-path: /springboot   #配置项目的虚拟路径(根路径) 项目名使用/开头
    Nach dem Login kopieren

    1.3 Aufteilung der SpringBoot-Konfigurationsdatei
  • spring:
      profiles:
        active: dev  #开发环境
    Nach dem Login kopieren
  • 1.4 SpringBoot-Öffnungsprotokoll
  • # 显示sql
    logging:
      level:
        cn.kgc.springboot.mapper: debug  #开启日志
    Nach dem Login kopieren

    1.5 SpringBoot implementiert Hot Deployment

  • Im Eröffnungsprozess des Webprojekts wird normalerweise Jedes Mal, wenn wir den Code ändern, müssen wir das Projekt neu starten und erneut bereitstellen. Da die Projekte jedoch immer größer werden, ist jeder Start eine zeitaufwändige Angelegenheit. Daher ist die Hot-Bereitstellung eine sehr innovative Technologie. Mit Spring-Boot-Devtools können wir die Hot-Bereitstellung erheblich verbessern
  • <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    Nach dem Login kopieren

    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>
    Nach dem Login kopieren
  • 4. Ändern Sie die Ideeneinstellungen
  • Dateieinstellungen-Compiler und aktivieren Sie „Projekt automatisch erstellen“ 5. Richten Sie die Registrierung ein

Strg + Umschalt + Alt + /, wählen Sie „Registrierung“ und aktivieren Sie „Compiler autoMake erlauben, wenn die App ausgeführt wird“.
devtools:
  restart:
    enabled: true #开启热部署
Nach dem Login kopieren

3. Schreiben Sie den Controller, die Business-Schicht und die Persistenzschicht zum Testen. Verwenden Sie Bean-Tag-Einstellungen in der Dateiverwaltung von Objekten

<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>
Nach dem Login kopieren

2. Verwenden Sie die Annotation @Component @Controller @Service @Repository

So verwaltet Springboot Objekte: Wie integriert Java SpringBoot JSP und MyBatis?

1 Springboot unterstützt die Verwendung des Annotationszusatzes

@Configuration

. In der Konfigurationsklasse entspricht diese Klasse als Konfigurationsklasse der Spring-Konfigurationsdatei. Diese Annotation kann nur in der Klasse verwendet werden. Verwenden Sie die Annotation „@Bean“ für die Methode in der Konfigurationsklasse, die dem Bean-Tag in der Spring-Konfigurationsdatei entspricht

Attributinjektion

Frühlings-Original-Injektionsmethode

1.set-Methode

2.Konstruktor

3.automatische Injektion

name: tom
age: 30
price: 23.5
sex: true
birth: 2021/11/28 12:12:12
array: 12,13,15,17
list: 李四,lisi,tom
map: "{&#39;aa&#39;:30,&#39;bb&#39;:&#39;lisi&#39;}" # 注入map使用json格式  取值的个数#{${map}}
Nach dem Login kopieren

对象的注入

object:
  name: lisi
  age: 20
  birth: 2021/11/24
Nach dem Login kopieren
@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";
    }
}
Nach dem Login kopieren

注意:添加一下依赖,可以再写yaml文件时提示,消除红色的警告提示。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
Nach dem Login kopieren

springBoot整合JSP

引入依赖

<!--        标准标签库-->
<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>
Nach dem Login kopieren

配置视图解析器

spring:
  mvc:
    view:
      prefix: /
      suffix: .jsp
Nach dem Login kopieren

设置不重启项目 刷新jsp页面

server:
  servlet:
    jsp:
      init-parameters:
        development: true  # 修改jsp页面无需重新启动项目
Nach dem Login kopieren

集成后无法访问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>
Nach dem Login kopieren

2.设置工作目录

Wie integriert Java SpringBoot JSP und MyBatis?

3.插件启动

Wie integriert Java SpringBoot JSP und MyBatis?

SpringBoot整合MyBatis

引入依赖

<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>
Nach dem Login kopieren

编写配置文件

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
Nach dem Login kopieren

mybatis配置

mybatis:
  mapper-locations: classpath:mapper/*.xml  #设置mapper文件的位置
  type-aliases-package: cn.kgc.springboot.entity # 起别名
  configuration:
    map-underscore-to-camel-case: true #开启驼峰命名
Nach dem Login kopieren

设置dao接口的扫描

1.在入口类上使用注解,完成扫描

@SpringBootApplication
@MapperScan("cn.kgc.springboot.dao") //扫描dao接口所在的包 同时生成代理对象 注入spring容器
public class Springday02Application {
    public static void main(String[] args) {
        SpringApplication.run(Springday02Application.class, args);
    }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage