初始SpringBoot

概念:
在这里插入图片描述
特点:
在这里插入图片描述
搭建SpringBoot项目:
1.
在这里插入图片描述

在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述
5.点击next然后设置项目的存储位置然后项目创建完成。

在这里插入图片描述
编写代码测试
在src/main/java/com.yay.springbootdemo1下创建子包controller,在子包下面创建一个名为TestController的控制器类,编写代码:

@Controller
@RequestMapping("/test")
public class TestController {
    @ResponseBody
    @RequestMapping("/hello")
    public String sayHello(){
        return "sayHello Spring boot";
    }
}

打开Springbootdemo1Application类:点击main方法绿色箭头就可以运行了

在这里插入图片描述
然后注入url地址进行访问
在这里插入图片描述

SpringBoot三个核心文件

1.pom.xml
在这里插入图片描述
1.parent中的依赖是父依赖,有以下作用:

  • 限定java版本:springBoot2.1.5版本所依赖的jdk版本为1.8及以上。
  • 限定源码的文件编码方式:默认为UTF-8.
  • 管理依赖:在父依赖中设置了一些公共依赖的版本号,这样开发人员在引入依赖时可以不同指定版本号,这样就不会出现版本号不符的问题。
  • 打包支持:设置了一些使用maven对项目进行打包的规则。
  • 动态识别资源:可以识别一些特定名称的资源文件,比如application.properties文件。
  • 识别插件配置:比如exec plugin,Git commit ID,shade等

2.spring-boot-starter-web依赖:
给springBoot项目继承了使用springmvc所需要的组件,仅仅有组件还是不够的,还缺少一些springmvc的配置,这些配置信息在springboot项目中都已经配置好,并通过自动配置加载到项目中。

3.spring-boot-start-test依赖
此依赖中引入的时项目测试组件,不是必需的。

2.启动类
在这里插入图片描述
3.application.properties属性文件。
在这里插入图片描述

springboot项目启动方式

使用springboot内置容器启动
在这里插入图片描述

在这里插入图片描述

多模块项目

在idea中使用Maven构建多模块项目
使用三层架构的方式搭建项目框架,项目结构清晰,代码耦合度相对于不使用三层架构的项目降低了。但是在企业级开发中,代码量大, 项目庞大,即使使用三层架构的方式,搭建出来的项目也时比较复杂的。存在以下几个问题:

  • 结构不够清晰,开发人员不能从庞大的项目中快速定位自己负责的模块。
  • 项目庞大导致启动费时。
  • 部署时,无法分模块扩展项目,造成资源的浪费。

为了解决这些问题,maven提出了一套多模块项目的方案。

在这里插入图片描述

在这里插入图片描述
示例:
使用Spring Initializr创建父项目Springbootdemo3
在springbootdemo3下创建子模块UserService项目和UserController项目:
在这里插入图片描述
打开两个子项目pom文件可以发现都有:

  <parent>
        <artifactId>springbootdemo3</artifactId>
        <groupId>com.yay</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

继承父项目

打开父项目可以发现:

  <!--聚合-->
    <modules>
        <module>userservice</module>
        <module>userController</module>
    </modules>
    <!--继承springboot父项目,提供springboot依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!--本项目gav坐标-->
    <groupId>com.yay</groupId>
    <artifactId>springbootdemo3</artifactId>
    <version>0.0.1-SNAPSHOT</version>

这便是聚合:

在UserService子项目里有User类 和UserService类
在这里插入图片描述
如果在UserController子项目中想使用的话 在pom文件里添加如下依赖:便是UserService项目的gav坐标

  <dependencies>
        <dependency>
            <groupId>com.yay</groupId>
            <artifactId>userservice</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

这样在UserController项目中就可以使用UserService项目中的类

@Controller
@RequestMapping("/user")
public class UserController {
    @Resource(name = "userService")
    private UserService userService;
    @RequestMapping("/list")
    @ResponseBody
    public List<User> list(){
        List<User> list = userService.listUser();
        return list;
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值