springboot整合

通过maven创建springboot项目

1.创建一个maven工程

2.导入需要的POM依赖 

<!--    引入父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.1</version>
    </parent>

    <groupId>com.xyf</groupId>
    <artifactId>springboot-maven</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
<!--        引入web启动依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        
    </dependencies>

 

3.编写SpringBoot的启动类 

@SpringBootApplication
@ServletComponentScan("com.xyf")
public class MavenApp {
    public static void main(String[] args) {
        SpringApplication.run(MavenApp.class,args);
    }
}

 

 

Springboot中常见的配置文件类型

 

1.properties属性文件类型

2.yml配置文件

语法: key: value

(注意:后边要有空格)

 

4.读取springboot配置文件的内容

4.1使用注解@Value映射

   4.1.1application.properties配置如下

    或者application.yml配置如下

实例Bean为

4.2.使用注解@ConfigurationProperties映射

    4.2.1application.properties配置如下

    或者application.yml配置如下

bean如下

注意:使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方法才可以,而使用@Value注解修饰的字段不需要提供set方法

 

5.springboot 注册web三大组件

5.1:注册servlet

5.1.1:编写一个自定义servlet类

public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行了doGet");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行了doPost");
    }
}

 

5.1.2:编写一个自定义filter

package com.xyf.filter;

import javax.servlet.*;
import java.io.IOException;

public class MyFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest,
                         ServletResponse servletResponse,
                         FilterChain filterChain)
            throws IOException, ServletException {

        System.out.println("过滤器执行了");
        filterChain.doFilter(servletRequest,servletResponse);

    }


}

 

5.1.3:编写一个自定义Listener:

package com.xyf.Listener;

import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;

public class MyListener implements ServletRequestListener {

    @Override
    public void requestDestroyed(ServletRequestEvent sre) {
        System.out.println("监听器关闭");
    }

    @Override
    public void requestInitialized(ServletRequestEvent sre) {
        System.out.println("监听器开启");
    }
}

 

  5.1.4编写自定义配置类将三大组件注册进去

package com.xyf.config;

import com.xyf.Listener.MyListener;
import com.xyf.filter.MyFilter;
import com.xyf.servlet.MyServlet;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class MyConfig {

    @Bean
    public ServletRegistrationBean servletBean(){
        ServletRegistrationBean servletRegistrationBean=new
                ServletRegistrationBean();
        servletRegistrationBean.setServlet(new MyServlet());
        servletRegistrationBean.setName("myServlet");
        servletRegistrationBean.addUrlMappings("/my");
        return servletRegistrationBean;

    }

    @Bean
    public FilterRegistrationBean filterBean(){
        FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
        filterRegistrationBean.setName("myFilter");
        filterRegistrationBean.setFilter(new MyFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        return filterRegistrationBean;
    }


    @Bean
    public ServletListenerRegistrationBean myListener(){
        ServletListenerRegistrationBean servletListenerRegistrationBean = new ServletListenerRegistrationBean();
        servletListenerRegistrationBean.setListener(new MyListener());
        return servletListenerRegistrationBean;
    }
}

 

5.1.5执行结果

 

6. springboot整合数据源。

 

6.1:引入druid数据源jar包

    <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>

 

6.2在application.properties配置文件中写入

6.2.1

在SpringbootDatasourceApplicationTests中写入进行测试,看是否链接成功

出现表示链接成功

7.springboot整合mybatis

7.1在pom中引用所用jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.xyf</groupId>
    <artifactId>springboot-datasource</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-datasource</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--引入druid的数据源-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>

        <!--引入mybatis和springboot的依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

7.2:在application.properties配置文件中配置映射路径

7.3创建一个测试mapper以及entry实体

 

7.4在resource中创建一个.xml文件

7.5:在启动类中添加对@MapperScan的扫描


@SpringBootApplication
@MapperScan(basePackages = {"com.xyf.springbootdatasource.mapper"})
public class SpringbootDatasourceApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDatasourceApplication.class, args);
    }

}

 

7.6:在controller层调用

使用@Autowired进行注入

@RestController
public class EmpController {

    @Autowired
   private EmpMapper mapper;

    @GetMapping("select")
    public List<Emp> selectEmp(){
        return  mapper.selectEmp();
    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值