springboot 基本框架的构建与讲解

springboot 基本框架的构建与讲解

1.什么是springboot
2.为什么使用springboot
3.如何创建springboot工程
4.java中如何读取springboot配置文件的内容
5.springboot整合数据源
6.springboot整合mybatis-plus

1.什么是springboot

Spring Boot是一个用于构建Java应用程序的开源框架。它简化了Java应用程序的开发过程,提供了一种快速、便捷的方式来创建独立的、可执行的、生产级别的Spring应用程序。Spring Boot基于Spring框架,通过自动配置和约定优于配置的原则,减少了开发人员的工作量,使得开发过程更加高效。它还提供了许多开箱即用的功能和插件,如内嵌的Web服务器、安全性、数据库访问、缓存等,使得开发人员可以更专注于业务逻辑的实现。总之,Spring Boot是一个强大的框架,可以帮助开发人员快速构建可靠、高效的Java应用程序。

2.为什么使用springboot

使用Spring Boot有以下几个主要的好处:

  1. 简化配置:Spring Boot采用了约定优于配置的原则,提供了自动配置的能力。它能够根据项目的依赖和环境,自动配置很多常用的功能,如数据库连接、Web服务器、安全性等。这样,开发人员可以专注于业务逻辑的实现,而无需手动配置繁琐的参数。

  2. 快速启动:Spring Boot内置了一个嵌入式的Web服务器,如Tomcat、Jetty等,可以直接打包为可执行的Jar文件或War文件。这样一来,不仅减少了部署的复杂性,还可以快速启动应用程序,提高开发和测试的效率。

  3. 微服务架构支持:Spring Boot为构建微服务应用提供了良好的支持。它提供了丰富的功能和插件,如服务注册与发现、负载均衡、断路器等,使得开发者可以更容易地实现和管理微服务架构。

  4. 生态系统和社区支持:Spring Boot建立在Spring框架的基础上,拥有庞大的生态系统和活跃的开源社区。这意味着开发者可以轻松地找到各种成熟的解决方案、第三方库和文档支持,可以快速解决问题,提高开发效率。

3.如何创建springboot工程

3.1搭建springboot工程

 

 

 

 

 

编写controller层代码

@RestController
@RequestMapping("/hello")
public class MyController {
​
    @GetMapping("/world")
    public Map<String,Object> index(){
        Map<String, Object> map = new HashMap<>();
        map.put("name","xbb");
        map.put("age","22");
        return map;
    }
}
3.2springboot中jar包的配置

 

3.3springboot配置文件的种类

springboot使用两种格式的配置,内容格式不同。

 

 

第一种: 后缀名为.properties

 

第二种: 后缀名为.yml

 

两种格式文件都可以配置,如果两种配置内容相同,以properties为主。如果不同都能用。

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

1.在Spring Boot中,可以通过使用@Value注解

@Value("${student.name}")
    private  String name;
    @Value("${student.age}")
    private Integer age;
​
    @GetMapping("/nihao")
    public String test01(){
        return "name:"+name+",age:"+age;
    }
#aplication.properties文件中
student.name=吕小布
student.age=28

2.通过@ConfigruationProperties

@Data
@Component //交给容器管理
@ConfigurationProperties(prefix = "teacher") //读取配置文件以teacher开头的配置
public class Teacher {
    private String name;
    private Integer age;
}
​  @Autowired
    private Teacher teacher;

    @GetMapping("/hello2")
    public Teacher test02(){
        return teacher;
    }

@Value只能读取基本类型和String 类型,而@ConfigurationProperties可以读取任意类型。

5.springboot整合数据源

5.1设置默认数据源

(1)引入相关依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

(2)aplication.properties配置文件中配置数据源

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.data-username=root
spring.datasource.data-password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mysql5_1?serverTimezone=Asia/Shanghai

(3)测试

@SpringBootTest
class Myjava15springbootApplicationTests {
    @Autowired
    private DataSource dataSource;//帮你完成数据源的自动装配
@Autowired
private DeptDao deptDao;
​
    @Test
    void contextLoads() {
        System.out.println(dataSource);
    }
}
​
5.2设置druid 数据源

(1)引入依赖

​
        <!--druid数据源的依赖-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.1</version>
        </dependency>

(2)修改配置文件

#德鲁伊 druid
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
spring.datasource.druid.url=jdbc:mysql://localhost:3306/mysql5_1?serverTimezone=Asia/Shanghai

(3)测试,(测试的时候把默认数据源的配置文件给先注释掉)

@SpringBootTest
class Myjava15springbootApplicationTests {
    @Autowired
    private DataSource dataSource;//帮你完成数据源的自动装配
@Autowired
private DeptDao deptDao;
​
    @Test
    void contextLoads() {
        System.out.println(dataSource);
    }
}
​

6.springboot整合mybatis-plus

Mybatis-plus官网:(MyBatis-Plus)以Mybatis-plus官网为准。

(1)引入依赖

 <dependencies>
        <!--mp的依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
​
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
​
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.1</version>
        </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>
    </dependencies>

(2)配置aplication.properties文件发

#德鲁伊 druid
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
spring.datasource.druid.url=jdbc:mysql://localhost:3306/mysql5_1?serverTimezone=Asia/Shanghai
#初始化对象的连接个数
spring.datasource.druid.initial-size=5
#最多的连接数
spring.datasource.druid.max-active=10
​
#指定映射文件所在路径
mybatis.mapper-locations=classpath:/mapper/*.xml
​
​
#sql-日志 控制台
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
​

(3)实体类

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("student")
public class Student {
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;
    private String name;
    private String phone;
    private String email;
    private String profession;
    private Integer age;
    private int gender;
    private  int status;
    @DateTimeFormat(pattern = "yyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GTM+8")
    private Date createtime;
}

(4)dao层

public interface StudentDao extends BaseMapper<Student> {
}

(5)扫描dao接口

@SpringBootApplication
@MapperScan(basePackages = "com.aaa.dao")
@EnableSwagger2
public class Myjava17Application {
​
    public static void main(String[] args) {
        SpringApplication.run(Myjava17Application.class, args);
    }
​
}

(6)service层

public interface StudentService {
    public Result selectList();
​
    public Result selectById(Integer id);
   
}
​

(7)serviceImpl层

@Service
public class StudentServiceImpl implements StudentService {
    @Autowired
    private  StudentDao studentDao;
   
​
    public Result selectById(Integer id){
​
        Student student = studentDao.selectById(id);
        return  new Result(200,"查询成功",student);
    }
​
​
}

(8)controller层

@RestController
@RequestMapping("/student")
//@Api(tags = "学生管理接口")
public class StudentController {
    @Autowired
    private StudentService studentService;
​
​
    @GetMapping("/findbyid")
    public Result selectById(Integer id){
        return studentService.selectById(id);
  
}
​

(9)测试

 

(完)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 视频简介: 目前业界最流行的微服务架构正在或者已被各种规模的互联网公司广泛接受和认可,业已成为互联网开发人员必备技术。无论是互联网、云计算还是大数据Java平台已成为全栈的生态体系,其重要性几乎不可替代。Spring Boot作为微服务的基础设施之一,背靠强大的Spring 生态社区,支撑Spring Cloud技术体系。本课程采用由浅入深,层层递进的讲解方式, 让你轻松掌握SpringBoot的快速构建Spring项目的方式,并且还深入剖析SpringBoot内部核心原理,如:自动配置原理,start原理,自定义start等, 让你知其然,知其所以然 讲解方式: 本课程采用由浅入深,层层递进的讲解方式, 让你轻松掌握SpringBoot的快速构建Spring项目的方式,并且还深入剖析SpringBoot内部核心原理,如:自动配置原理,start原理,自定义start等, 让你知其然,知其所以然 课程亮点: 1、课程由浅到深,由原理到实践,适合零基础入门学习。 2、课程中包含大量SpringBoot 原理讲解、源码分析。 3、课程中涉及很多SpringBoot 实用插件技术、监控技术; 适用人群: 1、有一定的Java基础以及SSM框架知识。 2、对目前职业有进一步提升要求,希望从事数据行业高薪工作的在职人员。 基础课程主讲内容包括: 阶段一:SpringBoot 快速入门 1. SpringBoot介绍 2. SpringBoot的核心功能 3. SpringBoot的优势 4. SpringBoot入门程序 5. SpringBoot配置文件类型 6. 配置文件与配置类的属性映射方式 7. SpringBoot整合Mybatis 8. SpringBoot整合Junit 9. SpringBoot整合Redis 阶段二: SpringBoot核心原理 1. 起步依赖原理分析 2. 自动配置原理解析 3. 自定义起步依赖并实现自动配置 4. 事件监听 5. 初始化流程 6. SpringBoot服务监控
SpringBoot项目信息化在线教学平台是一个基于Java SpringBoot框架构建的综合性在线教育系统。它旨在利用现代互联网技术为教师和学生提供一个交互式的虚拟教学环境,以支持远程教育和在线学习活动。 该平台的核心功能包括课程管理、在线授课、实时互动、作业提交与批改、学习进度跟踪、考试与评估、资源共享、数据分析等。这些功能覆盖了教学活动的各个环节,从课程设计到学习反馈,都提供了数字化的解决方案。 - 课程管理:允许教师创建和管理课程内容,包括课程大纲、教学计划、资料上传等。 - 在线授课:支持视频直播和点播功能,使教师能够进行在线讲解和演示。 - 实时互动:通过聊天室、论坛和即时问答等方式,增强师生之间的互动交流。 - 作业提交与批改:学生可在线提交作业,教师可以在线批改并提供反馈。 - 学习进度跟踪:系统自动记录学生的学习活动和成绩,帮助教师监控学生的学习进度。 - 考试与评估:集成在线考试模块,支持多种题型,自动评分和成绩分析。 - 资源共享:构建资源库,收集和共享教学材料、习题库、案例研究等资源。 - 数据分析:对学习数据进行分析,为教师提供教学改进的依据,为学生提供个性化的学习建议。 在技术实现上,后端使用SpringBoot进行快速开发和简化部署,SpringMVC处理Web请求,MyBatis或JPA作为ORM工具与数据库交互,确保数据的一致性和安全性。前端可能采用Angular、React或Vue.js等现代JavaScript框架构建一个动态且用户友好的界面。系统还可能整合Spring Security和OAuth2来实现安全认证和授权。 此外,为了提高系统的可用性和性能,可能会采用微服务架构、容器化部署(如Docker)、负载均衡、缓存机制等技术手段。同时,系统还可能集成AI辅助教学、自然语言处理(NLP)以及基于大数据的个性化推荐算法等先进技术。 综上所述,SpringBoot项目信息化在线教学平台通过其全面的功能、高效的技术架构和优秀的用户体验,为教育机构、教师和学生提供了一个便捷、高效、个性化的在线教学和学习环境。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值