Untuk menjalankan projek Spring tradisional, anda bukan sahaja perlu mengimport pelbagai kebergantungan, tetapi juga mengkonfigurasi pelbagai fail konfigurasi XML, yang sangat menyusahkan, tetapi selepas projek Spring Boot dicipta, , ia boleh dijalankan secara langsung tanpa menulis sebarang kod atau membuat sebarang konfigurasi Ini semua berkat mekanisme pemula Spring Boot
Spring Boot mengekstrak pelbagai senario dalam pembangunan aplikasi perusahaan harian dan menjadikannya Setiap pemula mengintegrasikan pelbagai. kebergantungan yang mungkin digunakan dalam senario ini Pengguna hanya perlu memperkenalkan kebergantungan pemula dalam Maven, dan SpringBoot boleh mengimbas secara automatik maklumat untuk dimuatkan dan memulakan konfigurasi lalai yang sepadan. Pemula menyediakan sejumlah besar konfigurasi automatik, membebaskan pengguna daripada kerumitan berurusan dengan pelbagai kebergantungan dan konfigurasi. Semua pemula ini mengikut konfigurasi lalai konvensional dan membenarkan pengguna melaraskan konfigurasi ini, iaitu, mengikut prinsip "Konvensyen lebih besar daripada konfigurasi"
Bukan semua pemula dikuasakan oleh Spring Boot disediakan secara rasmi, dan beberapa pemula disediakan oleh vendor teknologi pihak ketiga, seperti druid-spring-boot-starter dan mybatis-spring-boot-starter, dsb. Sudah tentu, terdapat juga teknologi pihak ketiga individu secara rasmi tidak menyediakan pemula, dan vendor teknologi pihak ketiga juga tidak menyediakan pemula
Mengambil spring-boot-starter-web contoh, ia boleh menyediakan apa yang diperlukan untuk senario pembangunan Web, jadi apabila menggunakan Spring Boot untuk membangunkan projek Web, anda hanya perlu memperkenalkan Starter tanpa mengimport pelayan Web dan kebergantungan Web lain
<!--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><.>Anda mungkin menemui masalah, iaitu, dalam konfigurasi pom.xml di atas, apabila memperkenalkan ketergantungan spring-boot-starter-web, versinya (versi) tidak dinyatakan, tetapi dalam pepohon kebergantungan, kita melihat bahawa semua kebergantungan mempunyai maklumat versi, jadi maklumat versi ini Di manakah ia dikawal? Malah, maklumat versi ini dikawal secara seragam oleh
spring-boot-starter-parent (pusat timbang tara versi).
spring-boot-starter-parent
spring-boot-starter-parent ialah kebergantungan induk bagi semua projek Spring Boot, ia dipanggil versi Spring Boot Pusat timbang tara boleh mengurus secara seragam beberapa kebergantungan biasa dalam projek.<!--SpringBoot父项目依赖管理--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.5</version> </parent>Projek Spring Boot boleh mendapatkan beberapa konfigurasi lalai yang munasabah dengan mewarisi spring-boot-starter-parent, yang terutamanya menyediakan ciri berikut:
server: port: 8989 #配置端口
server: servlet: context-path: /springboot #配置项目的虚拟路径(根路径) 项目名使用/开头
spring: profiles: active: dev #开发环境
Log permulaan 1.4 SpringBoot
# 显示sql logging: level: cn.kgc.springboot.mapper: debug #开启日志1.5 SpringBoot melaksanakan penempatan panasDalam proses pembukaan projek web, biasanya kita perlu memulakan semula kod setiap kali ubah suainya. Mulakan projek dan laksanakan penempatan semula. Tetapi apabila projek menjadi lebih besar dan lebih besar, setiap permulaan adalah perkara yang memakan masa. Oleh itu, penggunaan panas ialah teknologi yang sangat inovatif Dengan penggunaan panas, kami boleh meningkatkan kecekapan pembangunan kami dengan banyak
spring-boot-devtools melaksanakan penggunaan panas
1. Memperkenalkan. dependencies
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>2. Konfigurasikan maven plug-in
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <!-- 如果devtools不生效 请设置该属性 --> </configuration> </plugin> </plugins> </build>3 Konfigurasikan fail application.yml
devtools: restart: enabled: true #开启热部署4 Ubah suai tetapan idea
File-Settings-Compiler Check Build Project secara automatik
5. Set Registry
ctrl + shift + alt + /, pilih Registry, check Compiler autoMake allow when app running
1 Memperkenalkan kebergantungan:1.6 SpringBoot mendayakan pertanyaan paging
<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>
# pageHelper分页配置 pagehelper: helper-dialect: mysql #数据库类型 reasonable: true #分页合理化 page<1 查询第一页 page >pageNumber 查询最后一页 support-methods-arguments: true # 支持mapper接口传递参数开启分页 params: count=countSql #用于从对象中根据属性名取值3. Tulis pengawal, lapisan perniagaan dan lapisan kegigihan untuk ujian
@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; }pengurusan objek springBoot
Cara mengurus objek pada musim bunga:
1 Gunakan fail konfigurasi xml dan gunakan tag kacang dalam fail untuk menetapkan pengurusan objek
<bean id="" class="xxx.xxx.xxx"></bean>
2. Gunakan anotasi @Component @Controller @Service @Repository
1 🎜> springboot menyokong penggunaan anotasi @Configuration
yang ditambahkan pada kelas konfigurasi Sebagai kelas konfigurasi, kelas ini bersamaan dengan fail konfigurasi spring ini hanya boleh digunakan pada kelas . Gunakan anotasi@Bean
pada kaedah dalam kelas konfigurasi, yang bersamaan dengan tag kacang@Configuration public class MyConfiguration{ @Bean public User getUser(){ return new User(); } @Bean public Student getStudent(){ return new Student(); } }dalam fail konfigurasi spring 2. Gunakan anotasi spring asal @. Komponen @Pengawal @Perkhidmatan @ Repositori
Suntikan atribut
kaedah 1.set
2.pembina3name: 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); } }
Atas ialah kandungan terperinci Bagaimanakah Java SpringBoot mengintegrasikan JSP dan MyBatis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!