Spring Boot、Maven创建、web三大组件

## 一、通过Maven的形式创建一个SpringBoot项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zlf7tBDD-1624023430311)(C:\Users\送给小~1\AppData\Local\Temp\1623999859571.png)]

     1、配置pom/xml文件

```xml
    <!--    引入Spring Boot父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.1</version>
    </parent>
    <!-- 引入web启动依赖-->
<dependencies>
  <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>    
  </dependency>
</dependencies>

```

​    2、创建启动类并加入注解

​        注意:contreller  service mapper等必须在主启动类所在的包下或子包

```java
//创建启动类并加入注解
@SpringBootApplication
public class MavenApp {
    public static void main(String[] args) {
        SpringApplication.run(MavenApp.class,args);
    }
}
```

## 二、SpringBoot工程中常见的配置文件类型。 

​    1、配置文件类型:properties(属性文件类型) |  yml 共两个。注意:properties比yml优先级高,一般只存在一个

​    2、文件创建完成图标都是叶子形状:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xLWULH4V-1624023430313)(C:\Users\送给小~1\AppData\Local\Temp\1624003176745.png)]

​        如果形状不对,可能是没有引入webjar包,可能是名字错误

​    3、Java读取SpringBoot配置文件中的内容+自定义属性值+书写格式

#####         自定义属性值:注解@ConfigurationProperties(prefix = "前缀")方法

#####         

```
@Data //代替setget方法、toString方法 --需要因为jar依赖
@Component //有spring容器创建对象
@ConfigurationProperties(prefix = "student") // 读取配置文件;prefix 前缀
public class Student {
    private String name;
    private List<String> appetite;
    private Set<String> sets;
    private Map<String,String> maps;
    private Date date;
    private Emp emp;
}
```

#####         

##### properties:

```properties
# 设置端口号
server.port=8081
#自定义属性        
student.name=ch
#List<String> 多个属性值用 , 隔开
student.appetite=a strong man,A lot of strong men
#Set<String> 多个属性值用 , 隔开
student.sets=aa,bb.cc
#Map<String> Map 在此注明Key的值
student.maps.k1=1
student.maps.k2=2
student.maps.k3=3
student.date=2020/01/01
student.emp.id=1
student.emp.name=hg

```

​        

#####     yml:

```yaml
#设置端口号
server:
  port: 8082
#自定义属性值
student:
  name: hyf
  # list<String>
  appetite:
    - Sexy woman
    - sexy figure
  sets:
    - yy
    - y1
#Map<String>
  maps:
    k1: xx
    k2: tt
  date: 2020/10/20
  emp:
    id: 2
    name: zs
```

​    

#####     注解@Value:如果通过@value读取的为properties 不能读取map以及自定义的类型。 如果读取的yml那么只能读取基 本数据类型以及String和date类型 

```java
@Data
@Component
public class Students {
    @Value("${student.name}")
    private String name;
//    @Value("${student.appetite}")
    private List<String> appetite;
//    @Value("${student.sets}")
    private Set<String> sets;
//    @Value("${student.maps}")
//    private Map<String,String> maps;
    @Value("${student.date}")
    private Date date;
//    @Value("${student.emp}")
//    private Emp emp;
}
```

## 三、注册web三大组件

#####     1、servlet

​        创建一个servlet

```java
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");
    }
}
```

​        创建一个配置类

```java
@Configuration // 声明该类为配置类,等价于Spring的配置文件
public class MyConfig {

    @Bean //ServletRegistrationBean servlet的注册器
    public ServletRegistrationBean servletBean(){
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
        // <servlet-class>servlet</servlet-class>
        servletRegistrationBean.setServlet(new Myservlet());
        //<servlet-name>名称</servlet-name>
        servletRegistrationBean.setName("Myservlet");
/*        <servlet-mapping>
            <url-partern><url-partern>
         </servlet-mapping>
         */
        servletRegistrationBean.addUrlMappings("/My");
        return servletRegistrationBean;
    }
    
        //注册Filter
    @Bean
    public FilterRegistrationBean FilterBean(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new Myfilter());
        filterRegistrationBean.setName("MyFilter");
        filterRegistrationBean.addUrlPatterns("/*");
        return filterRegistrationBean;
    }
}
```

​    2、创建一个Filter

```java
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);//放行
    }
}
```

## 四、 整合数据源

####     1、建立项目所需依赖jar包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DiyLp2LW-1624023430315)(C:\Users\送给小~1\AppData\Local\Temp\1624017438190.png)]

####     2、在application.properties属性文件中配置数据源信息:

```properties
# 配置数据源的信息
spring.datasource.username=root
spring.datasource.password=xi2020%@
spring.datasource.url=jdbc:mysql://localhost:3306/spring_boot?serverTimezone=Asia/Shanghai
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```

​        注意: 8.0 以后数据源url后面要加sserverTimezone=Asia/Shanghai

```xml
<dependency>
    <groupId>mysql</groupId>
    <!-- 8.0 以后数据源url后面要加serverTimezone= -->
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
```

####     3、通过SpringbootDatasourceApplicationTests测试是否连接成功

```java

@SpringBootTest
class SpringbootDatasourceApplicationTests {
    @Autowired
    private DataSource dataSource;
    @Test
    void contextLoads() throws SQLException {
        System.out.println(dataSource.getConnection());
    }
}
```

####     4、数据源模式为Hikari、开发习惯使用Druid。更改数据源模式为Druid

​        1、在pom.xml文件中加入druid依赖

```xml
<!--        配置Druid数据源-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>
```

​        2、修改application.properties属性文件中配置数据源信息:

```properties
spring.datasource.druid.username=root
spring.datasource.druid.password=xi2020%@
spring.datasource.druid.url=jdbc:mysql://localhost:3306/spring_boot?serverTimezone=Asia/Shanghai
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
```

## 五、SpringBoot整合mybatis.

#####     1、引入spring boot和mybatis依赖-

```xml
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>
```

#####      2、注册application.properties配置映射文件所在路径

```properties
#  配置映射文件所在路径
mybatis.mapper-locations=classpath:/mapper/*.xml
```

​     3、写xml、实体、controller、

​        注意要在SpringbootDatasourceApplication主启动类中扫描mapper接口所在的包

```java
@MapperScan(basePackages = {"com.zzw.springbootdatasource.mapper"})
```

2、注册application.properties配置映射文件所在路径

```properties
#  配置映射文件所在路径
mybatis.mapper-locations=classpath:/mapper/*.xml
```

​     3、写xml、实体、controller、

​        注意要在SpringbootDatasourceApplication主启动类中扫描mapper接口所在的包

```java
@MapperScan(basePackages = {"com.zzw.springbootdatasource.mapper"})
```
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值