通过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();
}
}