Spring フレームワークを使用して単純な小規模プロジェクトを開発する方法 - 書店プロジェクト

ここでは Spring を使用して単純な書店プロジェクトを開発します

ステップ 1:使用した開発ソフトウェアは idea で、使用した jar パッケージは

これらの jar のダウンロードは、公式 Web サイトからダウンロードできます。ダウンロードするバージョン 5.2.6 を選択してください。そうでない場合は、以下のプライベート メッセージにコメントしてください。

ステップ 2:アイデアを開いて Java プロジェクトを作成し、プロジェクトに BookStore という名前を付けます。

ステップ 3: jar パッケージをインポートする

          ① プロジェクトフォルダー直下にjarパッケージを格納するフォルダーlibsを作成し、そのフォルダーに上記12個のjarパッケージを直接コピーします。

                

 

 

       ②jarをインポートします。最初のステップはjarパッケージをコピーするだけですが、まだ使用できません。         

   

 

 

 

 

ステップ 4: src の下に com.tty.spring パッケージを作成し、そのパッケージの下に 5 つのパッケージ (構成フォルダー config、エンティティ フォルダー エンティティ、および 3 層アーキテクチャ (コントロール レイヤー コントロール、ビジネス レイヤー)) のビルドを続けます。サービス、永続層 dao)

ステップ5: 構成フォルダーの下にクラス BookConfig を作成し、コードを記述します

 

 

ステップ6: エンティティフォルダーの下にクラス Book を作成し、コードを記述する

ステップ7: 永続層フォルダーの下にインターフェース BookDao とクラス BookDaoImpl を作成し、コードを記述します

 

 

 

ステップ8: ビジネス層フォルダーの下にクラス BookService を作成し、コードを作成します

 

 

 ステップ9: コントロール層の下にBookControlクラスを作成し、コードを記述する

 

 

ステップ 10: パッケージ com.tty.spring の下に 3 つのクラス (BookStoreEntry エントリー クラス、BookStoreProxy 拡張クラス、TestBookStore テスト クラス) を作成し、コードを作成します。

 

         ① 最初に「エージェント」とも呼ばれる拡張クラスを作成しましょう

         ②最初にテストクラスを書きましょう、このクラスはテスト用です

 

 

ここに書いたら、簡単にテストできます

 結果は次のとおりです。

③最後に本屋入門クラスを書きます

 main メソッドをクリックして 1 回実行すると、結果は次のようになります。

 シンプルな小さな書店プロジェクトが完成しました。以下にさまざまなソース コードを添付します。

// 配置类源码
package com.tty.spring.config;


import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

@Configuration
@ComponentScan(basePackages = "com.tty.spring")
@EnableAspectJAutoProxy
public class BookConfig {
}
//实体类源码
package com.tty.spring.entity;


import org.springframework.stereotype.Component;

@Component
public class Book {

    private String b_name;
    private int b_price;

    public void setB_name(String b_name) {
        this.b_name = b_name;
    }

    public void setB_price(int b_price) {
        this.b_price = b_price;
    }

    @Override
    public String toString() {
        return "Book{" +
                "b_name='" + b_name + '\'' +
                ", b_price=" + b_price +
                '}';
    }


}
//持久层 接口源码
package com.tty.spring.dao;

import com.tty.spring.entity.Book;

public interface BookDao {
    public Book queryBook();
}
//持久层接口实现类源码
package com.tty.spring.dao;


import com.tty.spring.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

@Repository
public class BookDaoImpl implements  BookDao{

    @Autowired
    private Book book;

    @Override
    public Book queryBook() {
        book.setB_name("spring教程");
        book.setB_price(99);
        return this.book;
    }
}
//服务层源码
package com.tty.spring.service;


import com.tty.spring.dao.BookDao;
import com.tty.spring.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

@Service
public class BookService {

    @Autowired
    private BookDao bookDao;

    public Book queryBook(){
        return bookDao.queryBook();
    }

}
//控制层源码
package com.tty.spring.control;


import com.tty.spring.entity.Book;
import com.tty.spring.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;

@Controller
public class BookControl {


    @Autowired
    private BookService bookService;

    public Book sellBook(){
        return bookService.queryBook();
    }

}
//增强类源码
package com.tty.spring;


import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Component
@Aspect
public class BookStoreProxy {

    @Before(value = "execution(* com.tty.spring.service.BookService.queryBook(..))")
    public void before(){
        System.out.println("现在开始卖书啦!....");
    }

}
//测试类源码
package com.tty.spring;

import com.tty.spring.config.BookConfig;
import com.tty.spring.control.BookControl;
import com.tty.spring.entity.Book;
import com.tty.spring.service.BookService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class TestBookStore {
    @Test
    public void test(){
        ApplicationContext context = new AnnotationConfigApplicationContext(BookConfig.class);
        BookControl bookControl = context.getBean("bookControl", BookControl.class);
        Book book = bookControl.sellBook();
        System.out.println(book);

    }
}
//书店入口类
package com.tty.spring;

import com.tty.spring.config.BookConfig;
import com.tty.spring.control.BookControl;
import com.tty.spring.entity.Book;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import java.util.Scanner;

public class BookStoreEntry {
    public static void main(String[] args) {

        ApplicationContext context = new AnnotationConfigApplicationContext(BookConfig.class);
        BookControl bookControl = context.getBean("bookControl", BookControl.class);


        System.out.println("您好! 欢迎光临本书店");
        System.out.println("请选择  1. 购书  |   2.离开 ");
        Scanner sc=new Scanner(System.in);
        int val=sc.nextInt();
        if(val==1){
            Book book = bookControl.sellBook();
            System.out.println(book);
        }
        if (val==2){
            System.out.println("欢迎下次再来!");
        }



    }
}

             

おすすめ

転載: blog.csdn.net/qq_49174867/article/details/124514360