완전한 Java 기술 스택 솔루션 구축
오늘날 정보 기술이 급속히 발전하는 시대에 Java는 매우 인기 있는 프로그래밍 언어로서 다양한 분야에서 널리 사용되고 있습니다. 완전한 Java 기술 스택 솔루션을 구축하려면 백엔드 개발부터 프런트엔드 프레젠테이션까지 모든 측면은 물론 데이터 저장 및 보안과 같은 측면도 다루어야 합니다. 이 글에서는 독자들의 이해를 돕기 위해 간단한 예를 소개하겠습니다.
1. 백엔드 개발
Java 백엔드 개발은 완전한 솔루션을 구축하는 데 중요한 부분입니다. 여기서는 Spring Boot 프레임워크를 사용하여 백엔드 서비스를 구현하겠습니다.
먼저 Spring 초기화 프로그램을 사용하여 새로운 Spring Boot 프로젝트를 만듭니다. 프로젝트를 생성할 때 Spring Web, Spring Data JPA, MySQL 등과 같은 해당 종속성을 추가해야 합니다.
다음으로 백엔드 기능 코드를 작성하겠습니다. 예를 들어, 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 프레임워크를 사용하여 프런트엔드 디스플레이를 구현해 보겠습니다.
Angular CLI를 사용하여 새 Angular 프로젝트를 만들 수 있습니다.
ng new frontend
다음으로 몇 가지 프런트 엔드 페이지를 만듭니다. 예를 들어 모든 사용자 정보를 표시하는 사용자 목록 페이지를 만듭니다.
<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 데이터베이스를 사용하여 데이터를 저장하겠습니다.
먼저 "javastack"이라는 MySQL 데이터베이스를 생성합니다.
다음으로, 사용자 정보를 저장하기 위해 "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를 사용하여 백엔드 인터페이스를 보호하겠습니다.
먼저 백엔드 인터페이스에 해당하는 보안 규칙을 구성해야 합니다. 예를 들어 인증된 사용자만 특정 민감한 인터페이스에 액세스할 수 있습니다.
@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(); } }
다음으로 사용자 인증 로직을 구현해야 합니다. 예를 들어, UserDetailsService의 구현 클래스를 생성합니다:
@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 중국어 웹사이트의 기타 관련 기사를 참조하세요!