ホームページ  >  記事  >  Java  >  完全な Java テクノロジー スタック ソリューションを構築する

完全な Java テクノロジー スタック ソリューションを構築する

王林
王林オリジナル
2023-09-06 13:39:181006ブラウズ

完全な Java テクノロジー スタック ソリューションを構築する

完全な Java テクノロジ スタック ソリューションを構築する

今日の情報テクノロジの急速な発展の時代において、Java は非常に人気のあるプログラミング言語として、さまざまな分野で広く使用されています。完全な Java テクノロジー スタック ソリューションを構築するには、データ ストレージやセキュリティなどの側面だけでなく、バ​​ックエンド開発からフロントエンド プレゼンテーションに至るまで、あらゆる側面をカバーする必要があります。この記事では、読者の理解を深めるために簡単な例を紹介します。

1. バックエンド開発

Java バックエンド開発は、完全なソリューションを構築するための重要な部分です。ここでは、Spring Boot フレームワークを使用してバックエンド サービスを実装します。

  1. Spring Boot プロジェクトの作成

まず、Spring Initializer を使用して新しい Spring Boot プロジェクトを作成します。プロジェクトを作成するときは、Spring Web、Spring Data JPA、MySQL などの対応する依存関係を追加する必要があります。

  1. バックエンド関数の実装

次に、バックエンド関数のコードを作成します。たとえば、User エンティティ クラスを作成します。

@Entity
@Table(name = "users")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false, unique = true)
    private String username;

    @Column(nullable = false)
    private String password;

    // 省略构造方法、getter和setter方法等
}

次に、UserService クラスを作成して、いくつかの基本的なユーザー管理関数を実装します。

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public User createUser(User user) {
        // 执行创建用户操作
        return userRepository.save(user);
    }

    public User getUserById(Long id) {
        // 执行根据id获取用户操作
        Optional<User> optionalUser = userRepository.findById(id);
        return optionalUser.orElse(null);
    }

    // 省略其他方法...
}

上記は、単純なユーザー管理関数の例です。実際のニーズに応じて拡張できます。

2. フロントエンド ディスプレイ

ソリューションを構築する場合、フロントエンド ディスプレイは不可欠な部分です。ここでは、Angular フレームワークを使用してフロントエンド表示を実装します。

  1. Angular プロジェクトの作成

Angular CLI を使用して、新しい Angular プロジェクトを作成できます:

ng new frontend
  1. フロントエンド ページの実装

次に、いくつかのフロントエンド ページを作成します。たとえば、すべてのユーザー情報を表示するユーザー リスト ページを作成します:

<table>
  <thead>
    <tr>
      <th>Username</th>
      <th>Password</th>
    </tr>
  </thead>
  <tbody>
    <tr *ngFor="let user of users">
      <td>{{ user.username }}</td>
      <td>{{ user.password }}</td>
    </tr>
  </tbody>
</table>

次に、Angular の HttpClient モジュールを使用して、バックエンドによって提供されるユーザー データを取得します:

export class UserListComponent implements OnInit {

  users: User[];

  constructor(private userService: UserService) { }

  ngOnInit() {
    this.userService.getAllUsers()
      .subscribe(users => this.users = users);
  }
}

上記は単純です。ユーザーリストページの例ですが、実際のニーズに応じて拡張できます。

3. データ ストレージ

データ ストレージはソリューション構築の中核です。ここでは、MySQL データベースを使用してデータを保存します。

  1. データベースの作成

まず、「javastack」という名前の MySQL データベースを作成します。

  1. データ テーブルの作成

次に、ユーザー情報を保存するための「users」という名前のデータ テーブルを作成します。テーブル構造は次のとおりです。

CREATE TABLE users (
  id INT(11) PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(50) NOT NULL UNIQUE,
  password VARCHAR(50) NOT NULL
);

4. セキュリティ

ソリューションのセキュリティは非常に重要です。ここでは、Spring Security を使用してバックエンド インターフェイスを保護します。

  1. セキュリティ ルールの構成

まず、バックエンド インターフェイスに対応するセキュリティ ルールを構成する必要があります。たとえば、認証されたユーザーのみが特定の機密インターフェイスにアクセスできます。

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers("/api/users/**").authenticated()
            .anyRequest().permitAll()
            .and()
            .formLogin().permitAll()
            .and()
            .logout().permitAll();
    }
}
  1. ユーザー認証の実装

次に、ユーザー認証のロジックを実装する必要があります。たとえば、UserDetailsS​​ervice の実装クラスを作成します。

@Service
public class UserDetailsServiceImpl implements UserDetailsService {

    @Autowired
    private UserService userService;

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        User user = userService.getUserByUsername(username);
        if (user == null) {
            throw new UsernameNotFoundException("User not found");
        }
        return new org.springframework.security.core.userdetails.User(
            user.getUsername(),
            user.getPassword(),
            Collections.emptyList()
        );
    }
}

上記は単純なユーザー認証ロジックの例であり、実際のニーズに応じて拡張できます。

上記の例を通じて、完全な Java テクノロジー スタック ソリューションを構築しました。バックエンドの開発からフロントエンドのプレゼンテーション、データ ストレージやセキュリティなどの側面に至るまで、ソリューション構築のあらゆる重要な要素をカバーします。もちろん、実際のプロジェクトでは、特定のニーズに応じて調整や拡張が必要になる場合があります。この記事が、読者が Java テクノロジー スタックをよりよく理解し、適用できるようになれば幸いです。

以上が完全な Java テクノロジー スタック ソリューションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。