Table des matières
Démarrer avec Spring Boot Starter
1.1 SpringBoot définit le numéro de port
1.2 SpringBoot définit le nom du projet
1.3 Division du fichier de configuration SpringBoot
1.5 SpringBoot implémente le déploiement à chaud
Dans le processus d'ouverture du projet Web , Habituellement, chaque fois que nous modifions le code, nous devons redémarrer le projet et le redéployer. Mais à mesure que les projets deviennent de plus en plus grands, chaque démarrage prend du temps. Par conséquent, le déploiement à chaud est une technologie très innovante. Avec le déploiement à chaud, nous pouvons considérablement améliorer notre efficacité de développement
1 Introduisez les dépendances :
springBoot整合JSP
SpringBoot整合MyBatis
Maison Java javaDidacticiel Comment Java SpringBoot intègre-t-il JSP et MyBatis ?

Comment Java SpringBoot intègre-t-il JSP et MyBatis ?

May 11, 2023 pm 05:46 PM
java jsp springboot

Démarrer avec Spring Boot Starter

Pour exécuter un projet Spring traditionnel, vous devez non seulement importer diverses dépendances, mais également configurer divers fichiers de configuration XML, ce qui est très fastidieux, cependant, après la création du projet Spring Boot, même sans. l'écriture de n'importe quel code peut être exécutée directement sans aucune configuration, tout cela grâce au mécanisme de démarrage de Spring Boot

Spring Boot extrait divers scénarios du développement quotidien d'applications d'entreprise et les transforme en démarreurs un par un. Il intègre diverses dépendances qui peuvent être utilisées dans ce cadre. Les utilisateurs n'ont qu'à introduire la dépendance de démarrage dans Maven, et SpringBoot peut analyser automatiquement les informations à charger et démarrer la configuration par défaut correspondante. Le démarreur fournit une grande quantité de configuration automatique, libérant les utilisateurs des tracas liés à la gestion de diverses dépendances et configurations. Tous ces starters suivent les configurations par défaut conventionnelles et permettent aux utilisateurs d'ajuster ces configurations, c'est-à-dire en suivant le principe de "La convention est supérieure à la configuration"

Tous les starters ne sont pas officiellement fournis par Spring Boot, et il existe aussi quelques starters Il est fourni par des fournisseurs de technologies tiers, tels que druid-spring-boot-starter et mybatis-spring-boot-starter, etc. Bien sûr, il existe également des technologies tierces individuelles. Spring Boot ne fournit officiellement pas de démarreur, et les fournisseurs de technologies tiers ne fournissent pas non plus de démarreur. En prenant spring-boot-starter-web comme exemple, il peut en fournir presque. toutes les dépendances nécessaires aux scénarios de développement Web. Par conséquent, lorsque vous utilisez Spring Boot pour développer un projet Web, il vous suffit d'introduire le Starter, sans importer en plus le serveur Web et les autres dépendances Web

    <!--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>
Copier après la connexion

Vous pouvez rencontrer un problème, c'est-à-dire dans la configuration du pom.xml ci-dessus, lors de l'introduction de la dépendance spring-boot-starter-web, sa version n'est pas spécifiée, mais dans l'arborescence des dépendances, nous voyons que toutes les dépendances ont des informations de version. Alors, où ces informations de version sont-elles contrôlées. ?

En fait, ces informations de version sont uniformément contrôlées par

spring-boot-starter-parent

(Version Arbitration Center).

spring-boot-starter-parent

spring-boot-starter-parent est la dépendance parent de tous les projets Spring Boot. Elle est appelée le centre d'arbitrage de version de Spring Boot et peut gérer certaines dépendances courantes au sein du projet. Gestion unifiée.

<!--SpringBoot父项目依赖管理-->
<parent>  
    <groupId>org.springframework.boot</groupId>   
    <artifactId>spring-boot-starter-parent</artifactId>    
    <version>2.4.5</version>    
</parent>
Copier après la connexion

Les projets Spring Boot peuvent obtenir des configurations par défaut raisonnables en héritant de spring-boot-starter-parent, qui fournit principalement les fonctionnalités suivantes :

    Version JDK par défaut (Java 8)
  • Jeu de caractères par défaut (UTF- 8)
  • Fonction de gestion des dépendances
  • Filtrage des ressources
  • Configuration du plug-in par défaut
  • Identifier les fichiers de configuration de type application.properties et application.yml
  • Paramètres de base de SpringBoot

1.1 SpringBoot définit le numéro de port

server:
  port: 8989 #配置端口
Copier après la connexion

1.2 SpringBoot définit le nom du projet

server:
  servlet:
    context-path: /springboot   #配置项目的虚拟路径(根路径) 项目名使用/开头
Copier après la connexion

1.3 Division du fichier de configuration SpringBoot

spring:
  profiles:
    active: dev  #开发环境
Copier après la connexion

Comment Java SpringBoot intègre-t-il JSP et MyBatis ?1.4 SpringBoot ouvre le journal

# 显示sql
logging:
  level:
    cn.kgc.springboot.mapper: debug  #开启日志
Copier après la connexion

1.5 SpringBoot implémente le déploiement à chaud

Dans le processus d'ouverture du projet Web , Habituellement, chaque fois que nous modifions le code, nous devons redémarrer le projet et le redéployer. Mais à mesure que les projets deviennent de plus en plus grands, chaque démarrage prend du temps. Par conséquent, le déploiement à chaud est une technologie très innovante. Avec le déploiement à chaud, nous pouvons considérablement améliorer notre efficacité de développement

spring-boot-devtools implémente le déploiement à chaud

1 Introduire des dépendances

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
</dependency>
Copier après la connexion

2.

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork> <!-- 如果devtools不生效  请设置该属性 -->
            </configuration>
        </plugin>
    </plugins>
</build>
Copier après la connexion

3. Configurez le fichier application.yml

devtools:
  restart:
    enabled: true #开启热部署
Copier après la connexion

4. Modifiez les paramètres de l'idée

File-Settings-Compiler et cochez Build Project automatiquement

5. Configurez le registre

ctrl + shift + alt. + /, sélectionnez Registre, cochez AutoMake du compilateur lors de l'exécution de l'application

1.6 SpringBoot active la requête de pagination

1 Introduisez les dépendances :

<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>
Copier après la connexion

2. Configurez le fichier application.yml (vous pouvez utiliser la valeur par défaut sans le configurer)

.
# pageHelper分页配置
pagehelper:
  helper-dialect: mysql  #数据库类型
  reasonable: true   #分页合理化 page<1 查询第一页 page >pageNumber 查询最后一页
  support-methods-arguments: true  # 支持mapper接口传递参数开启分页
  params: count=countSql  #用于从对象中根据属性名取值
Copier après la connexion

3. Écrivez le contrôleur, la couche métier, la couche de persistance pour tester

@Override
public PageInfo<User> getPage(int pageNum, int pageSize) {

    PageHelper.startPage(pageNum, pageSize);

    List<User> userList = userMapper.selectList();

    PageInfo<User> pageInfo = new PageInfo<>(userList);

    return pageInfo;
}
Copier après la connexion

gestion des objets springBoot

  • Gérer les objets

    La façon de gérer les objets au printemps :

    1. utilisez les paramètres des balises bean dans le fichier Gestion des objets

    <bean id="" class="xxx.xxx.xxx"></bean>
    Copier après la connexion
  • 2. Utilisez l'annotation @Component @Controller @Service @Repository

Comment Springboot gère les objets :

1 Utilisez la méthode de configuration pour créer des objets

. springboot prend en charge l'utilisation de l'ajout d'annotations

@Configuration

Sur la classe de configuration, cette classe, en tant que classe de configuration, est équivalente au fichier de configuration spring. Cette annotation ne peut être utilisée que sur la classe. Utilisez l'annotation @Bean sur la méthode dans la classe de configuration, qui est équivalente à la balise bean dans le fichier de configuration Spring

@Configuration
public class MyConfiguration{
    @Bean
    public User getUser(){
        return new User();
    }
    @Bean
    public Student getStudent(){
        return new Student();
    }
}
Copier après la connexion
2 Utilisez l'annotation Spring originale

@Component @Controller @Service @Repository

.
  • Injection d'attribut

    méthode d'injection originale du ressort

    1.méthode set

    2.constructeur

    3.injection automatique

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}}
Copier après la connexion

对象的注入

object:
  name: lisi
  age: 20
  birth: 2021/11/24
Copier après la connexion
@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";
    }
}
Copier après la connexion

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
Copier après la connexion

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>
Copier après la connexion

配置视图解析器

spring:
  mvc:
    view:
      prefix: /
      suffix: .jsp
Copier après la connexion

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

server:
  servlet:
    jsp:
      init-parameters:
        development: true  # 修改jsp页面无需重新启动项目
Copier après la connexion

集成后无法访问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>
Copier après la connexion

2.设置工作目录

Comment Java SpringBoot intègre-t-il JSP et MyBatis ?

3.插件启动

Comment Java SpringBoot intègre-t-il JSP et 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>
Copier après la connexion

编写配置文件

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
Copier après la connexion

mybatis配置

mybatis:
  mapper-locations: classpath:mapper/*.xml  #设置mapper文件的位置
  type-aliases-package: cn.kgc.springboot.entity # 起别名
  configuration:
    map-underscore-to-camel-case: true #开启驼峰命名
Copier après la connexion

设置dao接口的扫描

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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Feb 07, 2025 pm 12:11 PM

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo

See all articles