21xrx.com
2024-12-23 03:27:50 Monday
登录
文章检索 我的文章 写文章
我曾经参与过一个JavaEE项目
2023-06-18 20:22:42 深夜i     --     --

我曾经参与过一个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作为版本控制工具,协同开发项目。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复