Rumah > Java > javaTutorial > teks badan

Bagaimanakah Java SpringBoot mengintegrasikan JSP dan MyBatis?

王林
Lepaskan: 2023-05-11 17:46:06
ke hadapan
880 orang telah melayarinya

Bermula dengan pemula Spring Boot

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>
Salin selepas log masuk
<. 🎜>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>
Salin selepas log masuk

Projek Spring Boot boleh mendapatkan beberapa konfigurasi lalai yang munasabah dengan mewarisi spring-boot-starter-parent, yang terutamanya menyediakan ciri berikut:

  • Versi JDK lalai (Java 8)

  • Set aksara lalai (UTF-8)

  • Fungsi pengurusan pergantungan

  • Sumber penapisan

  • Konfigurasi pemalam lalai

  • Mengenal pasti fail konfigurasi jenis application.properties dan application.yml

Tetapan asas SpringBoot

1.1 Nombor port tetapan SpringBoot

server:
  port: 8989 #配置端口
Salin selepas log masuk

1.2 nama projek tetapan SpringBoot

server:
  servlet:
    context-path: /springboot   #配置项目的虚拟路径(根路径) 项目名使用/开头
Salin selepas log masuk

1.3 Pemisahan fail konfigurasi SpringBoot

spring:
  profiles:
    active: dev  #开发环境
Salin selepas log masuk
<🎜 🎜>

Log permulaan 1.4 SpringBootBagaimanakah Java SpringBoot mengintegrasikan JSP dan MyBatis?

# 显示sql
logging:
  level:
    cn.kgc.springboot.mapper: debug  #开启日志
Salin selepas log masuk

1.5 SpringBoot melaksanakan penempatan panas

Dalam 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>
Salin selepas log masuk

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>
Salin selepas log masuk

3 Konfigurasikan fail application.yml

devtools:
  restart:
    enabled: true #开启热部署
Salin selepas log masuk

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.6 SpringBoot mendayakan pertanyaan paging

1 Memperkenalkan kebergantungan:

<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>
Salin selepas log masuk

2 Konfigurasikan fail application.yml (anda boleh menggunakan lalai tanpa konfigurasi)

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

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;
}
Salin selepas log masuk

pengurusan objek springBoot

    Objek pengurusan
  • 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>
    Salin selepas log masuk

    2. Gunakan anotasi @Component @Controller @Service @Repository

Cara springboot mengurus objek:

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();
    }
}
Salin selepas log masuk
dalam fail konfigurasi spring 2. Gunakan anotasi spring asal @. Komponen @Pengawal @Perkhidmatan @ Repositori

Suntikan atribut

  • kaedah suntikan asal spring

    kaedah 1.set

    2.pembina

    3
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}}
Salin selepas log masuk

对象的注入

object:
  name: lisi
  age: 20
  birth: 2021/11/24
Salin selepas log masuk
@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";
    }
}
Salin selepas log masuk

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
Salin selepas log masuk

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>
Salin selepas log masuk

配置视图解析器

spring:
  mvc:
    view:
      prefix: /
      suffix: .jsp
Salin selepas log masuk

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

server:
  servlet:
    jsp:
      init-parameters:
        development: true  # 修改jsp页面无需重新启动项目
Salin selepas log masuk

集成后无法访问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>
Salin selepas log masuk

2.设置工作目录

Bagaimanakah Java SpringBoot mengintegrasikan JSP dan MyBatis?

3.插件启动

Bagaimanakah Java SpringBoot mengintegrasikan JSP dan 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>
Salin selepas log masuk

编写配置文件

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
Salin selepas log masuk

mybatis配置

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

设置dao接口的扫描

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

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

Atas ialah kandungan terperinci Bagaimanakah Java SpringBoot mengintegrasikan JSP dan MyBatis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!