21xrx.com
2025-04-06 09:41:42 Sunday
文章检索 我的文章 写文章
我曾经参与过一个JavaEE项目
2023-06-18 20:22:42 深夜i     8     0

我曾经参与过一个JavaEE项目,该项目需要搭建一个在线商城,实现用户注册、登录、商品浏览、购买等功能。在这次项目中,我负责编写后端的代码,主要使用的是Spring框架和MySQL数据库。

其中,我用到了Spring的IoC和AOP特性,编写了DAO、Service、Controller三层架构的代码。例如,下面是用户登录的控制器代码:

@Controller
public class UserController {
  @Autowired
  private UserService userService;
  @RequestMapping(value="/login", method=RequestMethod.POST)
  public String login(String username, String password, HttpSession session) {
    User user = userService.findUserByUsernameAndPassword(username, password);
    if(user != null) {
      session.setAttribute("user", user);
      return "redirect:/index";
    } else {
      return "redirect:/login?error=true";
    }
  }
}

此外,我还使用了MyBatis框架来操作MySQL数据库。例如,下面是查询所有商品的DAO代码:

public interface ItemMapper {
  @Select("SELECT * FROM item")
  public List
  findAll();
 
}

最后,我还使用了JUnit和Mockito来编写单元测试,确保代码的正确性。例如,下面是UserService的单元测试代码:

@RunWith(MockitoJUnitRunner.class)
public class UserServiceTest {
  @Mock
  private UserMapper userMapper;
  @InjectMocks
  private UserService userService;
  @Test
  public void testFindUserByUsernameAndPassword() {
    when(userMapper.findUserByUsernameAndPassword("admin", "admin")).thenReturn(new User("admin", "admin"));
    User user = userService.findUserByUsernameAndPassword("admin", "admin");
    assertEquals("admin", user.getUsername());
    assertEquals("admin", user.getPassword());
  }
}

通过这次项目,我学会了如何使用Spring和MyBatis来开发JavaEE应用,以及如何使用JUnit和Mockito来编写测试。除此之外,我还学会了如何使用Git作为版本控制工具,协同开发项目。

  
  

评论区