SpringBoot(入门)三层架构Controller、Service、Dao

这篇具有很好参考价值的文章主要介绍了SpringBoot(入门)三层架构Controller、Service、Dao。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SpringBoot框架前言

SpringB是一个基于Java的开源框架,用于创建微服务。它由Pivotal Team开发,用于构建独立的生产就绪Spring应用。 SpringBoot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件,简化开发。

一、SpringBoot中三层架构是什么?

Controller层:(顾名思义 控制层)控制并处理http请求,将其不同的业务类型转送给Service层处理,并将Service层处理好的数据返回前端。入门来说,一个Controller对应一个Service,而一个Seervice也对应一个Dao就好了,感受程序是如何层层递进的。

二、三层架构的基本注解的使用

1.Controller层中的基本注解

        1.1@Controller       

                 标注于类体上,声明该类是Controller(相当于告诉你我是控制器)

        1.2@RequestMapping

                标注于方法体上,用于指定访问路径
        1.3@ResponseBody       

                标注于方法体上,用于返回数据到<body>标签

@Controller
public class UserController {
    @Resource
    private UserService userService;
    @RequestMapping("/user/query")
    @ResponseBody
    public String queryUser(Integer id){
        return "查询用户的id是"+ id + "用户:" + userService.queryUser(id).toString();
    }
}

2.Service层中的基本注解

        @Service       

                标注于Service接口的实现类上,将当前类自动注入到Spring容器中

@Service
public class UserServiceImp implements UserService {
    @Resource
    private UserDao userDao;
    @Override
    public User queryUser(Integer id) {
        User user = userDao.selectById(id);
        return user;
    }
}

3.Dao层中的基本注解

        @Mapper 标注于接口的上方,用于框架寻找接口和对应接口的xml文件

对应的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.start.springbootmapper.dao.UserDao">
<select id="selectById"
        resultType="com.start.springbootmapper.entities.User">
        select uid,username,password from t_user where uid=#{uid}
</select>
</mapper>

SpringBoot(入门)三层架构Controller、Service、Dao

 三、对应的pom文件与properties文件

        properties文件:

server.servlet.context-path=/orm
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=                                                     
spring.datasource.username=                                                
spring.datasource.password=                                                
#implements separating management for java files and xml files
mybatis.mapper-locations=classpath:mapper/*.xml
#output logs to console
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

        pom文件:

<?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.7.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.start</groupId>
    <artifactId>springboot-mapper</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-mapper</name>
    <description>springboot-mapper</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!-- Web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Mybatis依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
        <!-- Mysql依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>8.0.27</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

总结

              这几个注解是SpringBoot中基础的注解通过这几个注解的使用可以写一个小的工程实现对数据库的访问并将数据显示到前端。文章来源地址https://www.toymoban.com/news/detail-470186.html

到了这里,关于SpringBoot(入门)三层架构Controller、Service、Dao的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot框架分层(View层、Controller层、Service层、Mapper层、pojo层)

      SpringBoot框架一般分为View层、Controller层、Service层、Mapper层、pojo层。 View层:视图层,根据接到的数据展示页面给用户 Controller层:响应用户需求,决定用什么视图,需要准备什么数据来显示。Controller层负责前后端交互,接收前端请求,调用Service层,接收Service层返回的数据

    2024年02月07日
    浏览(50)
  • 快速掌握SpringBoot项目中的domain、mapper、service、controller层作用与书写格式

    承接上篇文章:http://t.csdn.cn/49QHB ①四个层负责的功能与作用: 1. Domain:包含业务实体,用于传输和封装数据。作用:作为数据载体,用于在各个模块之间传递业务数据。 2. Mapper:实现Domain与数据库表的映射及数据访问逻辑。作用:负责数据访问,将业务实体与数据库表进行映射,实现

    2024年02月03日
    浏览(44)
  • springboot中entity层,Dao层,mapper层,service层和controller层的关系和作用(通俗易懂版)

    entity(pojo,model)层 entity是存放实体的类,类中定义了多个类属性,并与数据库表的字段保持一致(通过配置文件可使得类中的驼峰命名和数据库表的下划线所对应)。 mapper(Dao)层 mapper层为数据持久层,mapper层的作用为访问数据库,向数据库发送sql语句,完成数据的增删

    2024年02月06日
    浏览(39)
  • Springboot中的三层架构

            目录 前言 1.Dao(数据访问层/持久层) 2.Service(业务逻辑层) 3.Controller(控制层) 总结: 前言         我们在进行前后端交互的时候,会分为 数据访问,业务逻辑,接受请求并响应数据三个操作 ,这三部分其实是可以拆分的,让他们解耦,否则代码复用性差并且不

    2024年02月08日
    浏览(48)
  • SpringBoot数据响应、分层解耦、三层架构

    类型:方法注解、类注解 位置:Controller方法、类上 作用:将方法返回值直接响应,如果返回值类型是 实体对象/集合 ,将会转换为json格式响应 说明:@RestController = @Controller + @ResponseBody 获取员工数据,返回统一响应结果,在页面渲染展示 在pom.xml文件中引入dom4j的依赖,用于

    2024年02月06日
    浏览(47)
  • spring boot入门与理解MVC三层架构

    分层是为了实现“高内聚,低耦合”,把问题划分开来,各个解决,易于控制,延展和分配资源,最重要有利于后期维护项目; MVC指的是model,view,controller; 在SpringMVC编程中一般分为四层: 1.表示层:(jsp、html 主要就是界面的展示),负责前后端交互,接收前端发送的请求,

    2024年02月05日
    浏览(51)
  • Java后端开发:SpringBoot项目中的三层架构与代码角色

    目前,大部分后端项目主要目的是暴露功能接口(API)到网络上,由前端程序访问这些接口并获取数据,然后展示在界面上,它们之间遵从Restful规约;还有一部分项目暴露方法,让前端代码实现远程调用,采用的是RPC的思想。 但是无论如何,后端程序存在的意义就是交换、

    2024年02月06日
    浏览(48)
  • vue+springboot架构,后端service层介绍

    本文主要介绍了vue+springboot架构中,后端service层的作用和实现方法,希望能对有兴趣的读者有所帮助。 vue+springboot架构是一种前后端分离的开发模式,后端service层是用来封装业务逻辑和数据操作的功能,供controller层调用和返回结果。后端service层一般需要做以下几件事情:

    2024年02月12日
    浏览(39)
  • Java——Controller层、Service层和DAO层

    在 Java 的三层架构中,通常会涉及到以下几个层次:Controller层、Service层和DAO层。 Controller层(控制层):Controller层是应用程序的入口点,负责接收用户的请求并处理。它通常处理来自前端或客户端的请求,并将请求转发给相应的Service层进行业务处理。Controller层负责接收和验

    2024年02月04日
    浏览(37)
  • Service 层异常抛到 Controller 层处理还是直接处理?

    一般初学者学习编码和[错误处理]时,先知道[编程语言]有一种处理错误的形式或约定(如Java就抛异常),然后就开始用这些工具。但却忽视这问题本质: 处理错误是为了写正确程序 。可是 由解决的问题决定的。问题不同,解决方案不同。 如一个web接口接受用户请求,参数

    2024年02月08日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包