ICTsharing - Blog chia sẻ kiến thức về ICT: Java

Hot

Post Top Ad

Hiển thị các bài đăng có nhãn Java. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Java. Hiển thị tất cả bài đăng

Thứ Ba, 10 tháng 3, 2020

Hướng dẫn cài đặt và cấu hình Java

15:02 0
Để bắt đầu học lập trình Java bạn cần cài đặt 2 thứ JDK và IDE


JDK (Java Deverlopment Kit)

JDK là một bộ công cụ phát triển Java, nó dành cho những người lập trình Java để phát triển ứng dụng. 
Bao gồm:
  • JRE (Java Runtime Environment) là một môi trường chạy ứng dụng Java.
  • Javac: Một chương trình để dịch mã mà bạn viết thành mã bytecode, khi ứng dụng Java chạy nó dịch mã bytecode thành mã máy tính và thực thi, điều đó có nghĩa là bytecode chỉ là một mã trung gian.
  • Archive (jar): Là một chương trình nén các file thành một file duy nhất có đuôi jar. Thường dùng để đóng gói các file class.
  • Javadoc: Là một công cụ tạo ra tài liệu hướng dẫn sử dụng API.
  • Và các công cụ khác cần thiết cho phát triển Java.

IDE (Integrated Development Environment)
Là một môi trường phát triển tích hợp (IDE), về bản chất nó là một chương trình để bạn viết code. Chương trình này hỗ trợ nhiều tính năng tự động hóa cho người phát triển. Chẳng hạn các gợi ý khi lập trình, tự hoàn thiện mã,...

Với Java bạn có nhiều sự lựa chọn IDE, nó là cái để bạn lập trình viết code. Phổ biến và thông dụng nhất hiện nay là Eclipse và NetBeans. Mình sử dụng Eclipse

Bây giờ chúng ta bắt đầu cài đặt JDK và IDE trên hệ điều hành windows đối với các hệ điều hành khác ai có nhu cầu comment phía dưới mình sẽ hướng dẫn nhé!

Hướng dẫn cài đặt và cấu hình Java trên WINDOWS

1. Download JDK


Click chọn JDK Download ra hình dưới đây


Mình đang sử dụng hệ điều hành window 64 bit mình chọn theo ô đỏ đánh dấu, các bạn nhớ chọn theo hệ điều hành và bit theo máy tính của bạn nhé.



Sau khi download ta được:


Tại thời điểm cài đặt phiên bản JDK đang là 13.0.2

2. Cài đặt JDK cho Java

Sau khi download click chọn vào file jdk vừa tải về.


Nhấn Next




Sau khi cài đặt được kết quả thư mục cài đặt:



3. Cấu hình biến môi trường cho Java

Tiếp theo chúng ta cấu hình biến môi trường cho Java. Việc này không bắt buộc, nhưng nếu trên máy tính của bạn cài đặt nhiều phiên bản Java, thì việc cấu hình là cần thiết để xác định phiên bản java nào mặc định được sử dụng.

Click chuột phải chọn -> My Computer(This PC) -> Properties -> Advanced System Settings



Trong ô System variable chọn New nhập thông tin sau

Nhập vào đường dẫn tới thư mục JDK.

  • Variable name: JAVA_HOME
  • Variable value: C:\Program Files\Java\jdk-13.0.2

Sau đó nhấn ok.

Tiếp theo sửa đổi biến môi trường Path

Trong mục System Variable chọn Path nhấn Edit cửa sổ xuất hiện nhấn New để thêm mới



Thêm đường dẫn sau: %JAVA_HOME%\bin


Bạn đã hoàn thành cài đặt và cấu hình java.

Kiểm tra xem cài đặt đã thành công hay chưa bằng cách sau:

Nhấn tổ hợp phím window + R rồi nhập java -version nó hiển thị thông tin như hình dưới là Thành công. 


Trường hợp không cài đặt thành công, các bạn đừng ngại comment xuống dưới nhé!
Xem thêm

Thứ Sáu, 8 tháng 7, 2016

Bài 1: Lập trình Spring MVC cho người mới bắt đầu - Hello Spring 4 MVC

16:17 0
Tài liệu này viết trên phiên bản Spring MVC 4
  • Eclipse 4.4 (LUNA)
  • Spring 4.0.3.RELEASE
Để tạo một project chạy Spring MVC trên Eclipse ta có thể tạo project theo hai cách: sử dụng Maven, hoặc tạo Dynamic web project ở bài này tôi sẽ hướng dẫn các bạn sử dụng Maven để khai báo các thư viện Spring thay vì phải sử dụng download các thư viện add vào lib theo hướng thông thường.

Maven là một công cụ giúp bạn quản lý các thư viện một cách tự động và hiệu quả và nó đã trở thành thông dụng mà bất cứ một lập trình viên Java nào đều phải biết. Nếu bạn chưa biết hay search từ khóa "hướng dẫn sử dụng Maven" trên google để hiểu rõ hơn về công cụ này.

1. Spring Framework

Đầu tiên các bạn xem mô tả cấu trúc của Spring Framework qua hình mình họa sau:


Trong đó:
Core: The IoC Container: Đây là phần quan trọng nhất và cũng là phần cơ bản, nền tảng của Spring. Nó giữ vai trò về cấu hình và quản lý lifecycle của các java object. Bài hôm nay chúng ta sẽ tìm hiểu về phần này.

AOP (Spring AOP AspectJ integration): Spring AOP module tích hợp chức năng lập trình hướng khía cạnh vào Spring framework thông qua cấu hình của nó. Spring AOP module cung cấp các dịch vụ quản lý giao dịch cho các đối tượng trong bất kỳ ứng dụng nào sử dụng Spring. Với Spring AOP chúng ta có thể tích hợp declarative transaction management vào trong ứng dụng mà không cần dựa vào EJB component.

Spring AOP module cũng đưa lập trình metadata vào trong Spring. Sử dụng cái này chúng ta có thể thêm annotation vào source code để hướng dẫn Spring nơi và làm thế nào để liên hệ với aspect.

DAO (Spring JDBC transaction management): Tầng JDBC và DAO đưa ra một cây phân cấp exception để quản lý kết nối đến database, điều khiển exception và thông báo lỗi được ném bởi vendor của database. Tầng exception đơn giản điều khiển lỗi và giảm khối lượng code mà chúng ta cần viết như mở và đóng kết nối. Module này cũng cung cấp các dịch vụ quản lý giao dịch cho các đối tượng trong ứng dụng Spring.

ORM (Hibernate, JPA OJB TopLink, JDO OJB iBatis): Spring có thể tích hợp với một vài ORM framework để cung cấp Object Relation tool bao gồm: JDO, Hibernate, OJB và iBatis SQL Maps.

Spring Web module: Nằm trên application context module, cung cấp context cho các ứng dụng web. Spring cũng hỗ trợ tích hợp với Struts, JSF và Webwork. Web module cũng làm giảm bớt các công việc điều khiển nhiều request và gắn các tham số của request vào các đối tượng domain.

Spring MVC Framework: MVC Framework thì cài đặt đầy đủ đặc tính của MVC pattern để xây dựng các ứng dụng Web. MVC framework thì cấu hình thông qua giao diện và chứa được một số kỹ thuật view bao gồm: JSP, Velocity, Tiles và generation of PDF và Excel file.

(*) Khái niệm Inversion of Control & Dependency Injection
 Để hiểu khái niệm này chúng ta xem các class dưới:
//Đây là một interface
public interface HelloWorld {
  public void sayHello();
}
//Class thi hành interface HelloWorld
public class SpringHelloWorld implements HelloWorld {
 public void sayHello()  {
         System.out.println("Spring say Hello!");
 }
}
//Một class khác thi hành Interface HelloWorld
public class StrutsHelloWorld implements HelloWorld {
 public void sayHello()  {
         System.out.println("Struts say Hello!");
 }
}

//Và một class dịch vụ
public class HelloWorldService {
 
   // Một trường có kiểu HelloWorld
   private HelloWorld helloWorld;
 
   // Cấu tử tạo đối tượng HelloWorldService
   // Nó khởi tạo giá trị cho trường 'helloWorld'
   public HelloWorldService()  {
         this.helloWorld = new StrutsHelloWorld();
   }
}




Có thể nhận thấy một điều rằng class HelloWorldService quản lý việc tạo ra đối tượng HelloWorld.

- Trong trường hợp trên khi một đối tượng HelloWorldService được tạo ra từ cấu tử của nó, đối tượng HelloWorld cũng được tạo ra và nó được tạo từ StrutsHelloWorld

Câu hỏi đặt ra là bạn muốn tạo ra đối tượng HelloWorldService đồng thời đối tượng HelloWorld được tạo, nhưng nó phải là SpringHelloWorld

Như vậy ở đây là HelloWorldService đang điều khiển "object creation" của HelloWorld. Tại sao chúng ta không chuyển việc tạo HelloWorld cho một bên thứ 3 sử lý thay vì làm ở HelloWorldService. Chúng ta có khái niệm "inversion of control" nghĩa là "Sự đảo ngược điều khiển" (IoC).

IoC Container sẽ đóng vai trò người quản lý việc tạo ra cả HelloWorldService lẫn HelloWorld.
IoC = Inversion of Control


IoC Container tạo ra đối tượng HelloWorldService và đối tượng HelloWorld sau đó pass HelloWorld vào HelloWorldService thông qua setter. 

Việc IoC Container đang làm chính là "tiêm sự phụ thuộc" ( Dependency Injection) vào HelloWorldService . Sự phụ thuộc ở đây nghĩa là sự phụ thuộc giữa các object : HelloWorldServiceHelloWorld

Tới đây ta đã xác định được rõ thế nào là IoC& DI. Hãy cùng làm ví dụ HelloWorld để hiểu rõ hơn.


2. Tạo Project Java Spring MVC:

Nhấn File > New > Other> chọn Maven> Maven Project sau đó nhấn next


Làm theo như hình dưới:



Nhập vào:

Group Id: ictdiscovery
Artifact Id: HelloSpring


Cấu trúc file và thư mục được tạo ra giống phần ô đỏ dưới hình sau:


Hãy chắc chắn rằng Project được buil trên Java 7 hoặc lớn hơn bằng cách chọn vào project HelloSpring chọn properties



3. Cấu hình và khai báo các thư viện cho Spring MVC 4:

Phần khai báo các thư viện này rất quan trọng chúng ta nên đọc kỹ và lưu lại để tái sử dụng lần sau.

Giải bài toán kinh điển HelloWorld trong lập trình này, chỉ cần sử dụng thư viện spring cơ bản (core)

Mở file pom.xml khai báo các thư viện sẽ sử dụng:

HelloSpring > pom.xml 



File pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                        http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
 <modelVersion>4.0.0</modelVersion>
 <groupId>ictdiscovery</groupId>
 <artifactId>HelloSpring</artifactId>
 <version>0.0.1-SNAPSHOT</version> 
     <dependencies>
       <!-- Spring Core -->
       <!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-core</artifactId>
           <version>4.1.4.RELEASE</version>
       </dependency>
     
       <!-- Spring Context -->
       <!-- http://mvnrepository.com/artifact/org.springframework/spring-context -->
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
           <version>4.1.4.RELEASE</version>
       </dependency>    
   </dependencies>

</project>

 4. Tạo và viết code cho các Controller



Code file HelloWorld.java 

package ictdiscovery.spring.helloworld;
/*
 * author ictDiscovery
 * Vesion 1.0 Jul 8, 2016
 */
public interface HelloWorld {
 
  public void sayHello();
 
}
Code file HelloWorldService.java
package ictdiscovery.spring.helloworld;
/*
 * author ictDiscovery
 * Vesion 1.0 Jul 8, 2016
 */
public class HelloWorldService {
private HelloWorld helloWorld;

  public HelloWorldService() {

  }
  public void setHelloWorld(HelloWorld helloWorld) {
      this.helloWorld = helloWorld;
  }
  public HelloWorld getHelloWorld() {
      return this.helloWorld;
  }
}
Code file SpringHelloWorld.java 
package ictdiscovery.spring.helloworld.impl;
import ictdiscovery.spring.helloworld.HelloWorld;
/*
 * author ictDiscovery
 * Vesion 1.0 Jul 8, 2016
 */
public class SpringHelloWorld implements HelloWorld {
public void sayHello() {
      System.out.println("Spring Say Hello!!");
  }
}
Code file StrutsHelloWorld.java


package ictdiscovery.spring.helloworld.impl;
import ictdiscovery.spring.helloworld.HelloWorld;
/*
 * author ictDiscovery
 * Vesion 1.0 Jul 8, 2016
 */
public class StrutsHelloWorld implements HelloWorld {

  public void sayHello() {
      System.out.println("Struts Say Hello!!");
  }
}
Code file HelloProgram.java
package ictdiscovery.spring;
import ictdiscovery.spring.helloworld.HelloWorld;
import ictdiscovery.spring.helloworld.HelloWorldService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
 * author ictDiscovery
 * Vesion 1.0 Jul 8, 2016
 */
public class HelloProgram {
public static void main(String[] args) {
     
      ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
     
      HelloWorldService service = (HelloWorldService) context.getBean("helloWorldService");
     
      HelloWorld hw= service.getHelloWorld();
     
      hw.sayHello();
  }
}
Code file beans.xml
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
                       http://www.springframework.org/schema/beans/spring-beans.xsd">

   <bean id="springHelloWorld"
       class="ictdiscovery.spring.helloworld.impl.SpringHelloWorld"></bean>
   <bean id="strutsHelloWorld"
       class="ictdiscovery.spring.helloworld.impl.StrutsHelloWorld"></bean>

   <bean id="helloWorldService"
       class="ictdiscovery.spring.helloworld.HelloWorldService">
       <property name="helloWorld" ref="springHelloWorld" />
   </bean>

</beans>
5. Chạy kết quả
Chạy class HelloProgram.java bằng cách nhấn chuột phải 



Kết quả chạy class HelloProgram.



Như vậy là chúng ta đã kết thúc bài.

Download code của project  tại đây: http://bit.ly/29niww5
Xem thêm

Post Top Ad

Your Ad Spot