Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
643,31 KB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH WEB API VỚI SPRING BOOT Công ty thực tập : GUMI Việt Nam Người phụ trách : Nguyễn Thành Đức Thực tập sinh : Trần Minh Nhựt TP Hồ Chí Minh, tháng năm 2020 LỜI MỞ ĐẦU Công nghệ thông tin tạo nên xã hội tồn cầu, nơi mà người tương tác liên lạc với cách nhanh chóng hiệu Trong 15 năm qua, lĩnh vực công nghệ thông tin Việt Nam đạt nhiều thành tựu quan trọng Ngày nay, công nghệ thông tin dần trở thành ngành kinh tế mũi nhọn đất nước, có tỉ lệ đóng góp cho tăng trưởng GDP đất nước ngày cao Công nghệ thông tin có mặt nhiều phương diện sống hàng ngày chúng ta, từ thương mại đến giải trí chí văn hóa, xã hội giáo dục… Công nghệ thông tin giữ vai quan trọng quốc gia giới, đặc biệt Việt Nam, công nghệ thông tin xem tảng vững chắc phục vụ cho tiến trình phát triển đất nước bền vững Sau thời gian học tập Trường Đại Học Công Nghệ Thông Tin em trang bị những kiến thức lý thuyết tốt Trong thời gian thực tập thực tế, em có hội quý báu thực tập Công ty Cổ phần Gumi Việt Nam, hướng dẫn tận tình Quý Anh Chị đồng nghiệp nơi đây, em đạ thực báo cáo mình với nội dung LỜI CẢM ƠN Để hoàn thành chuyên đề báo cáo thực tập trước hết em xin gửi đến quý thầy,cô giáo khoa Công nghệ Phần mềm trường Đại học Công Nghệ Thông Tin lời cảm ơn chân thành Đặc biệt, em xin gởi đến anh Nguyễn Thành Đức, người tận tình hướng dẫn, giúp đỡ em hoàn thành chuyên đề báo cáo thực tập lời cảm ơn sâu sắc Em xin chân thành cảm ơn Ban Lãnh Đạo, phịng ban Cơng ty Cổ phần Gumi Việt Nam, tạo điều kiện thuận lợi cho em tìm hiểu thực tiễn suốt trình thực tập công ty Cuối em xin cảm ơn anh chị phịng Nghiên cứu, phát triển Cơng ty Cổ phần Gumi Việt Nams giúp đỡ em hoàn thành tốt chuyên đề thực tập Đồng thời nhà trường tạo cho em có hội thưc tập nơi mà em yêu thích, cho em bước đời sống thực tế để áp dụng những kiến thức mà thầy cô giáo giảng dạy Qua công việc thực tập em nhận nhiều điều mẻ bổ ích để giúp ích cho cơng việc sau thân Vì kiến thức thân hạn chế, trình thực tập, em không tránh khỏi những sai sót, kính mong nhận những ý kiến đóng góp từ thầy q cơng ty 2|Page NHẬN XÉT CỦA KHOA ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… 3|Page MỤC LỤC CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG TY CỔ PHẦN GUMI VIỆT NAM 1.1 Quá trình hình thành phát triển công ty 1.2 Tầm nhìn, sứ mệnh 1.3 Chức hoạt động kinh doanh Gumi Việt Nam CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 Lịch làm việc nơi thực tập 2.2 Kết đạt qua tập 2.2.1 Những kiến thức lý thuyết củng cố 2.2.2 Những kỹ thực hành học thêm những kinh nghiệm thực tiễn tích lũy CHƯƠNG 3: NỘI DUNG THỰC TẬP 3.1 Sơ lược Spring Boot: 3.1.1 Mơ hình Spring MVC 3.1.2 Giới thiệu Spring Boot 3.2 Nội dung công việc 3.2.1 Các phần mềm sử dụng 3.2.2 Thiết kế spring boot application đơn giản 3.2.3 Java Persistence API (JPA) 3.2.4 Katharsis JSON API 11 3.2.5 Testing với Junit Mockito 14 TỔNG KẾT 15 4|Page CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG TY CỔ PHẦN GUMI VIỆT NAM 1.1 Quá trình hình thành phát triển cơng ty - Tên Cơng ty: CƠNG TY CỔ PHẦN GUMI VIỆT NAM - Loại hình hoạt động: Công ty Cổ Phần - Mã số thuế: 0312512116 - Địa chỉ: Số 39, Đường Nguyễn Thị Diệu, Phường 6, Quận 3, Thành phố Hồ Chí Minh - Ngày cấp giấy phép: 14/10/2013 Công ty Gumi Việt Nam công ty chuyên thiết kế web, lập trình phát triển ứng dụng dành cho smart phone Cùng với liên kết chặt chẽ giữa công ty mẹ gumi (trụ sở Tokyo) gumi Việt Nam ( trụ sở Hồ Chí Minh) chắc chắn tạo những sản phẩm tốt đến cho khách hàng nước nước Cùng với đội ngũ nhân viên Nhật Bản Việt Nam, công ty sẵn sàng chấp nhận “thách thức” để phấn đấu trở thành công ty IT hàng đầu Việt Nam 1.2 Tầm nhìn, sứ mệnh Tầm nhìn: Công ty hàng đầu lĩnh vực thiết kế web, lập trình phát triển ứng dụng dành cho smart phone Sứ mệnh: Trong kinh tế nay, việc kinh doanh không giới hạn nước mà cịn mở rộng nước ngồi, đưa kinh tế dẫn đến thành công Tuy nhiên, phát triển thiết bị thông minh mạng lưới, những hạn chế khoảng cách loại bỏ, hội mở rộng kinh doanh qua biên giới tăng lên Cùng với những ý tưởng công nghệ tiên tiến, công ty Gumi Việt Nam xin đóng góp cho hai nước Việt Nam Nhật Bản nhiều tốt 1|Page 1.3 Chức hoạt động kinh doanh Gumi Việt Nam • Phát triển phần mềm - Phát triển dịch vụ phần mềm ngôn ngữ chủ yếu : NET, Java, C/C++, php, Python, Ruby, iOS, Android,… - Gia công phần mềm cho công ty lĩnh vực : network, tài chính, ecommerce,… • Kiểm thử phần mềm - Kiểm tra tồn hệ thống - Kiểm sốt chất lượng - Giải pháp kiểm thử phần mềm - Tự động hóa testing • Thiết kế giao diện(visual design) - Thiết kế apps đa tảng (web, mobile, desktop) • Dịch vụ quản trị hệ thống IT: - Gumi Việt Nam cung cấp dịch vụ như: Cloud and server, IT security, Application packaging CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 Lịch làm việc nơi thực tập Thứ 2, thứ 4, thứ 5, thứ (từ 01/05/2019 đến 30/12/2019) Thứ 7, Chủ nhật Sáng Chiều 9h00 – 12h00 13h30 – 17h30 Nghỉ hàng tuần Nhiệm vụ giao: Tìm hiểu Spring MVC phát triển Web API 2|Page 2.2 Kết đạt qua tập 2.2.1 Những kiến thức lý thuyết củng cố Những kiến thức vận dụng: kỹ lập trình, hướng đối tượng, sở dữ liệu Củng cố kỹ lập trình, quy trình thiết kế phần mềm 2.2.2 Những kỹ thực hành học thêm kinh nghiệm thực tiễn tích lũy - Tìm hiểu mơ hình MVC Spring Framework, cách vận hành phần back-end website - Củng cố kiến thức Java Web - Có kỹ lập kết hoạch tổ chức công việc hiệu - Khả học hỏi tìm tòi, nghiên cứu vấn đề - Khả làm việc nhóm - Trau dồi kỹ giao tiếp, kỹ Tiếng Anh - Có thói quen làm việc tốt 3|Page CHƯƠNG 3: NỘI DUNG THỰC TẬP 3.1 Sơ lược Spring Boot: 3.1.1 Mơ hình Spring MVC Bao gồm thành phần : - Controller : Giữ nhiệm vụ điều hướng yêu cầu từ người dùng, chứa logic doanh nghiệp, đảm nhận yêu cầu từ phía client, lưu trữ dữ liệu vào database, web service,… - Model : Chứa nghiệp vụ logic, phương thức xử lý, truy xuất Database, hàm xử lý, Class,… - View : hiển thị thông tin tương tác với người dùng, nơi tập hợp form file HTML, CSS, templates … BROWSER Database MODEL HTTPRESPONSE HTTP CONTROLLER REQUEST Hình 1.1: Mơ hình Spring MVC 4|Page VIEW 3.1.2 Giới thiệu Spring Boot Spring boot Project nằm tầng IO Execution Spring MVC Framework Spring boot tạo làm dễ dàng cho việc lập trình phát triển ứng dụng Spring boot hỗ trợ chứa nhúng, cho phép ứng dụng web chạy độc lập mà khơng cần triển khai Web Server Như Spring Boot bao gồm Spring Framework (Spring MVC) Embedded HTTP server ( Tomcat, serverlet, ) Lợi ích Spring Boot ta không cần phải cấu hình XML, giảm thiểu thời gian tăng xuất 3.2 Nội dung công việc Thời gian Công việc 1/5 – 20/5/2019 Review Java Core 21/5- 11/7/2019 Review Java OOP 10/7 – 14/8/2018 Design Robot Movement game in OOP 15/8 – 19/9/2019 Đọc tài liệu Spring Boot cài đặt Maven config dependency 20/9 – 17/11/2019 Cài đặt MySQL, Tìm hiểu Java Persistence API, Katharsis JSON API 18/11 – 19/12/2019 Đọc tài liệu làm quen với testing Junit Mockito 20/12 – 30/12/2019 5|Page Thiết kế web API 3.2.1 Các phần mềm sử dụng - JRE 8, JDK - Intellij idea: Java development - Maven dependency - MySQL Workbench - Postman for API development - Git version control 3.2.2 Thiết kế spring boot application đơn giản • Tạo maven project: mvn archetype:generate -DgroupId=com.tma -DartifactId=training-lab-api DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false • Thư mục chứa application: Hình 1.1: Cấu trúc project Maven 6|Page - POM file configuration trung tâm Maven project Là file đơn lẻ chứa thông tin cần để build Hình 2.2: Cấu trúc POM file • Thêm Spring boot vào project: Thêm dependency vào POM.xml org.springframework.boot spring-boot-starter-parent 2.0.2.RELEASE • Bổ sung @anotation vào Application class: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; 7|Page Tạo HelloController Class controller dùng để test app Hình 2.3: HelloControler Class • Sau run app, truy cập vào localhost:8080/api/ ta được: Hình 2.4: Kết sau connect tới localhost 8|Page 3.2.3 Java Persistence API (JPA) • Maven: Maven chương trình quản lý dự án cho phép developers xây dựng quản lý dự án liên quan đến Java Cung cấp công cụ hỗ trợ dependencies (thư viện sử dụng dự án) • Sử dụng Spring JPA để lưu trữ truy xuất dữ liệu relational database, JPA dependency: org.springframework.boot spring-boot-starter-data-jpa • Cấu hình MySQL: mysql mysql-connector-java • MySQL query: CREATE DATABASE IF NOT EXISTS `tlab_db`; USE `tlab_db`; DROP TABLE IF EXISTS `subject`; CREATE TABLE `subject` ( `subject_id` bigint(20) NOT NULL AUTO_INCREMENT, `description` varchar(45) NOT NULL, PRIMARY KEY (`subject_id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; LOCK TABLES `subject` WRITE; INSERT INTO `subject` VALUES (1,'Spring'),(2,'DOTNET'); 9|Page UNLOCK TABLES; Tạo Subject class model package, tiến hành mapping với database: Hình 2.5: Kết nối java class với database • Thêm vào HelloController class để test SubjectJpaRepository @Autowired private SubjectJpaRepository jpaRepository; @RequestMapping("/") public String index() System.out.println("START List 10 | P a g e subjectList testing = { jpa"); jpaRepository.findAll(); for (Subject subject System.out.println("ID = System.out.println("Description : " = subjectList) + " + { subject.getSubjectId()); subject.getDescription()); } System.out.println("END return "Greetings testing from jpa"); Spring Boot!"; } • Truy cập vào server ta được: 3.2.4 Katharsis JSON API • Tạo repository thêm class SubjectRepository SubjectRepositoryImpl : Hình 2.6: Tạo thêm repository 11 | P a g e • Thêm KatharsisConfigV3 Application class @SpringBootApplication @Import({ KatharsisConfigV3.class public class public static Application void main(String[] SpringApplication.run(Application.class, } } • Test chức củaRESTfulAPItrên Postman: GET request: http://localhost:9090/api/subjects Hình 2.7: GET request 12 | P a g e }) { args) { args); • POST request: tạo subject thơng tin subject lưu vào database Hình 2.8: POST request • PATCH request : chỉnh sửa thơng tin subject có id = Hình 2.9: PATCH request 13 | P a g e 3.2.5 Testing với Junit Mockito Junit framework mã nguồn mở dùng để tạo scrip testing tự động cho Java Thêm @Test annotation vào phương thức test, tạo object bên phương thức test để gọi method định nghĩa kết mong muốn, sau gọi phương thức cần test để so sanh kết thực tế so với kết mong muốn 14 | P a g e TỔNG KẾT Với bảo hướng dẫn anh Nguyễn Thành Đức với nỗ lực làm việc, đề tài em hoàn thành Với những thuận lợi khó khăn q trình làm việc, cơng việc hồn thành khơng tránh phần sai sót Bên cạnh xin chân thành cảm ơn cơng ty Cổ phần Gumi Việt Nam tồn thể anh chị công ty hỗ trợ giúp đỡ em hết mình công việc sinh hoạt 15 | P a g e ... hình Spring MVC 4|Page VIEW 3.1.2 Giới thiệu Spring Boot Spring boot Project nằm tầng IO Execution Spring MVC Framework Spring boot tạo làm dễ dàng cho việc lập trình phát triển ứng dụng Spring. .. kinh nghiệm thực tiễn tích lũy CHƯƠNG 3: NỘI DUNG THỰC TẬP 3.1 Sơ lược Spring Boot: 3.1.1 Mơ hình Spring MVC 3.1.2 Giới thiệu Spring Boot ... hướng dẫn tận tình Quý Anh Chị đồng nghiệp nơi đây, em đạ thực báo cáo mình với nội dung LỜI CẢM ƠN Để hoàn thành chuyên đề báo cáo thực tập trước hết em xin gửi đến quý thầy,cô giáo khoa Công