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>
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-parentspring-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>
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 :
server: port: 8989 #配置端口
server: servlet: context-path: /springboot #配置项目的虚拟路径(根路径) 项目名使用/开头
spring: profiles: active: dev #开发环境
1.4 SpringBoot ouvre le journal
# 显示sql logging: level: cn.kgc.springboot.mapper: debug #开启日志
1 Introduire des dépendances
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
2.
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <!-- 如果devtools不生效 请设置该属性 --> </configuration> </plugin> </plugins> </build>
3. Configurez le fichier application.yml
devtools: restart: enabled: true #开启热部署
4. Modifiez les paramètres de l'idée
File-Settings-Compiler et cochez Build Project automatiquement5. Configurez le registrectrl + 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
<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>
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 #用于从对象中根据属性名取值
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; }
gestion des objets springBoot
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>
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();
}
}
2 Utilisez l'annotation Spring originale
.
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: "{'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); } }
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!