SpringBoot (入門) 3 層アーキテクチャ コントローラー、サービス、Dao

SpringBoot フレームワークの序文

SpringB は、マイクロサービスを作成するためのオープンソースの Java ベースのフレームワークです。これは、スタンドアロンの実稼働対応 Spring アプリケーションを構築するために Pivotal Team によって開発されました。SpringBoot は、Spring アプリケーションを可能な限り高速に実行し、構成ファイルを可能な限り削減して開発を簡素化できるように設計されています。

1. SpringBoot の 3 層アーキテクチャとは何ですか?

コントローラー層: (名前が示すとおり、制御層) http リクエストを制御および処理し、さまざまなビジネス タイプを処理のためにサービス層に転送し、サービス層によって処理されたデータをフロントエンドに返します。まず、Controller と Service、Service と Dao が対応し、層ごとにプログラムが進行していく様子を感じてください。

2 番目に、3 層アーキテクチャの基本的なアノテーションの使用

1. コントローラー層の基本的なアノテーション

        1.1@コントローラー       

                 クラス本体にマークが付けられ、そのクラスがコントローラーであることを宣言します (私がコントローラーであることを伝えるのと同じです)。

        1.2@リクエストマッピング

                メソッド本体にマークされ、アクセス パスの指定に使用されます
        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 インターフェースの実装クラスにマークされ、現在のクラスが 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>

 3. 対応する pom ファイルとプロパティ ファイル

        プロパティファイル:

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"coding="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/> <!-- リポジトリから親を検索 --> 
    </parent> 
    <groupId>com.start</groupId> 
    <artifactId>springboot-mapper</artifactId> 
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-mapper</name> 
        <!-- Mysql依赖-->
    <description>springboot-mapper</description> 
    <properties> 
        <java.version>1.8</java.version> 
    </properties> 
    <dependency> 
        <!-- 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> 
        <依存関係> 
            <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> 
    </dependency>

    <ビルド
        > <リソース> 
            <リソース> 
                <ディレクトリ>src/main/resources</ディレクトリ> 
                <includes> 
                    <include>**/*.*</include> 
                </includes> 
            </resource> 
        </resources> 
        <plugins> 
            <plugin> 
                <groupId>org .springframework.boot</groupId> 
                <artifactId>spring-boot-maven-plugin</artifactId> 
            </plugin> 
        </plugins> 
    </build> 

</project>

要約する

              これらのアノテーションは SpringBoot の基本的なアノテーションであり、これらのアノテーションを使用すると、データベースにアクセスし、フロントエンドにデータを表示するための小さなプロジェクトを作成できます。

おすすめ

転載: blog.csdn.net/Banxia228/article/details/126121725