SpringBoot (Introdução) Controlador de arquitetura de três camadas, serviço, Dao

Prefácio do framework SpringBoot

SpringB é uma estrutura baseada em Java de código aberto para a criação de microsserviços. Ele é desenvolvido pela Pivotal Team para criar aplicativos Spring autônomos prontos para produção. O SpringBoot foi projetado para permitir que você execute aplicativos Spring o mais rápido possível e reduza seus arquivos de configuração o máximo possível para simplificar o desenvolvimento.

1. Qual é a arquitetura de três camadas no SpringBoot?

Camada de controlador: (como o nome indica, a camada de controle) controla e processa solicitações http, transfere seus diferentes tipos de negócios para a camada de serviço para processamento e retorna os dados processados ​​pela camada de serviço para o front-end. Para começar, um Controlador corresponde a um Serviço e um Serviço corresponde a um Dao. Sinta como o programa progride camada por camada.

Em segundo lugar, o uso de anotações básicas da arquitetura de três camadas

1. Anotações básicas na camada Controller

        1.1@Controlador       

                 Marcado no corpo da classe, declarando que a classe é um controlador (equivalente a dizer que sou um controlador)

        1.2@RequestMapping

                Marcado no corpo do método, usado para especificar o caminho de acesso
        1.3@ResponseBody       

                Marcado no corpo do método, usado para retornar dados para a tag <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. Anotações básicas na camada de serviço

        @Serviço       

                Marcada na classe de implementação da interface Service, a classe atual é injetada automaticamente no contêiner 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. Anotações básicas na camada Dao

        @Mapper é marcado acima da interface, usado pelo framework para encontrar a interface e o arquivo xml da interface correspondente

Arquivo xml correspondente:

<?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>

 3. O arquivo pom correspondente e o arquivo de propriedades

        arquivo de propriedades:

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

        arquivo 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> 
        < parentePath/> <!-- procure o pai do repositório --> 
    </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> 
            <versão>2.1.4</version> 
        </dependency> 
        <!-- Mysql依赖-->
        <dependency> 
            <recurso> 
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId> 
            <scope>runtime</scope> 
            <version>8.0.27</version> 
        </dependency> 
        <dependency> 
            <groupId>org.springframework.boot</groupId> 
            < artefatoId>spring-boot-starter-test</artifactId> 
            <scope>teste</scope> 
        </dependency> 
        <dependency> 
            <groupId>org.apache.tomcat.embed</groupId> 
            <artifactId>tomcat-embed-jasper </artifactId> 
        </dependency> 
    </dependencies> 

    <build>
        <resources>
                <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>

Resumir

              Essas anotações são as anotações básicas no SpringBoot.Através do uso dessas anotações, você pode escrever um pequeno projeto para acessar o banco de dados e exibir os dados no front-end.

Acho que você gosta

Origin blog.csdn.net/Banxia228/article/details/126121725
Recomendado
Clasificación