مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

آموزش نصب اسپرینگ ( Spring ) و نوشتن اولین برنامه در Spring

در مطلب قبلی در مورد معماری فریمورک spring صحبت کردیم. ولی همه ی مطالبی که تا الان در مورد این فریمورک گفته شده است به نوعی مطالب تئوری بوده است. حال از این مطلب به بعد بیشتر به مباحث عملی و برنامه نویسی و استفاده از فریمورک spring برای برنامه نویسی جاوا خواهیم پرداخت. قبل از اینکه به برنامه نویسی در این مورد پرداخته شود باید ابزار ها و نرم‌افزار هایی که نیاز داریم را نصب نماییم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

نصب JDK

jdk

به خاطر اینکه فریمورک spring برای برنامه نویسی در زبان جاوا است و قرار است که برنامه نویسی j2ee‌ را برای ما راحت‌تر کند باید سیستمی که روی آن برنامه نویسی می‌کنیم و سیستمی که قرار است برنامه را اجرا کند هردو باید بتواند جاوا را اجرا کند. برای اینکه برنامه‌های نوشته شده با جاوا در یک سیستم اجرا شوند باید jre بر روی آن سیستم نصب شده باشد. همچنین در سیستمی که می‌خواهیم بر روی آن با زبان جاوا برنامه بنویسیم باید jdk بر روی آن نصب شود.

تفاوت‌های jre, jdk در این مطلب بیشتر توضیح داده شده است. برای نصب پک جاوا نصب jdk کفایت می‌کند زیرا که jdk خود شامل jre نیز می باشد. برای نصب jdk باید آن را دانلود کرد. با وجود اینکه این بسته رایگان است ولی برای هم میهن های ما از طرف شرکت اوراکل تحریم شده است. ولی در سایت‌های فارسی بسیاری می‌توان این بسته را یافت. طریقه نصب این بسته مانند بقیه نرم‌افزار ها در ویندوز است. و طریقه نصب آن در لینوکس هم در این مطلب توضیح داده شده است. پس از اینکه این بسته نصب شد برای اینکه از نحوه درست کار کردن آن مطمئن شویم باید در ویندوز در محیط command pompt و یا در لینوکس در محیط ترمینال باید خط زیر تایپ شود

java -version

با تایپ خط بالا ورژن جاوای نصب شده بر روی سیستم شما نمایش داده می‌شود و مطمئن می‌شویم که جاوا به درستی نصب شده است.

نصب محیط برنام نویسی

java ide

محیط های مختلفی برای برنامه نویسی جاوا و spring وجود دارد که شما می‌توانید از همه ی آن‌ها استفاده کنید. یعنی شما با استفاده از محیط هایی مثل eclipse, netbeans, inetllij می‌توانید استفاده کنید تا از spring استفاده کنید. ولی در این مطالب ما از محیط intellij برای برنامه نویسی استفاده می کنیم. این محیط قابلیت‌های فراوانی دارد و می‌توان به زبانهای مختلف و فریمورک های مختلف مانند spring در آن برنامه نوشت. با استفاده از intellij‌ نیازی به نصب جداگانه فریمورک spring نیست و خود برنامه آن را دانلود و نصب می‌کند ولی در محیط هایی مانند eclipse شما خودتان باید این فریمورک را نصب کنید.

نوشتن اولین برنامه با استفاده از فریمورک spring

گفتیم که فریمورک spring بر پایه زبان جاوا نوشته شده است. یعنی همه دستورات نوشته شده به زبان جاوا است. ولی با برنامه نویسی معمولی زبان جاوا کمی متفاوت است. همچنین این فریمورک از xml استفاده های بسیاری می کند. این فریمورک بسیار از مفاهیم کلاس‌های POJO استفاده می کند. کلاس‌هایی که با کلاس‌های دیگر هیچ ارتباطی ندارند و فقط چند عدد متد و فیلد در خود تعریف کرده اند.برای اینکه علامت سؤال‌های موجود در ذهنتان بیشتر نشود پروژه را شروع می کنیم. برای شروع در محیط intellij از منوی File‌→New→Project را انتخاب می کنیم. صفحه زیر ظاهر خواهد شد.

inetllij new project

در این پنجره به قسمت spring رفته و گزینه spring خالی را تیک می‌زنیم همانند شکل زیر

spring‌ در intellij

در قسمت پایین این عکس می‌توانید مشخص کند که کتابخانه‌های spring‌ از کجا آورده شود. اگر برای اولین بار است که شما می‌خواهید از spring‌ استفاده کنید پس بگذارید این فریمورک دانلود شود ولی اگر قبلاً آن را دانلود کرده‌اید آدرس محل دانلود شده را به آن بدهید تا دانلود نشود. در پایان کار بر روی دکمه next کلیک کنید.در صفحه بعد نام پروژه و محل ذخیره شدن پروژه از شما پرسیده می‌شود. پس از مشخص کردن این مقادیر بر روی finish کلیک کنید. اگر در قسمت قبل دانلود را انتخاب کرده باشید برنامه شروع به دانلود کتابخانه هایspring می کند. پس از اینکه دانلود تمام شد پروژه ساخته می‌شود و صحفه intellij‌ به شکل زیر دیده خواهد شد.

spring‌در intellij

‌برای شروع کار در داخل پوشه src باید دو فایل جاوا بسازیم. به همین منظور بر روی پوشه src‌ کلیک راست کرده و گزینه new ‌کلیک راست کرده و java class را انتخاب می کنیم. نام فایل اول را Hello‌ قرار می‌دهیم. حال کد زیر را داخل فایل Hello.java کد زیر را قرار دهید:

private String message;
public void setMessage(String message){
    this.message=message;
}
public String getMessage(){
    return "Hello Itpro user the message from spring framework: "+this.message;
}

این کد فقط یک فیلد message ساخته و برای آن getter , setter می‌سازد البته شکل getter آن را کمی تغییر داده ایم.حال یک فایل دیگر به نام Main با همان روش قبلی درست می‌کنیم. در این فایل متد main که همان نقطه ابتدایی برنامه است قرار میگیرد. کد زیر را در درون این فایل قرار می دهیم.

public static void main(String[] args){
    ApplicationContext context=new ClassPathXmlApplicationContext("Beans.xml");
    Hello obj=(Hello)context.getBean("Hello");
   System.out.println( obj.getMessage());
}

دقت داشته باشید که بعد از نوشتن این کد دو کتابخانه به بالای صفحه کد شما اضافه می‌شوند که عبارتند از:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

این فایل با استفاده از applicationContext که در داخل فریمورک spring‌ قرار دارد یک شی context می‌سازد که از داخل یک فایل xml به نام beans.xml تغذیه می شود. و در خط بعد کلاس Hello‌ را از xml می‌سازد و متدهای آن را فراخوانی می کند. حال باید فایل xml را برای ارتباط دو کلاس با هم بسازیم.برای این کار بر روی پوشه src کلیک راست کرده و new ‌را انتخاب می‌کنیم و از گزینه های نمایش داده شده xml configuration file را انتخاب کرده و از زیر منوی آن spring config‌را انتخاب کنید. با این انتخاب پنجره ای ظاهر می‌شود که نام فایل را باید وارد کنیم. حال چون ما قبلاً در کلاس Main‌ گفته‌ایم که نام فایل xml ما Beans است پس همین نام را برای آن قرار می دهیم. با کلیک بر روی OK فایل Beans.xml‌ ساخته می‌شود و کد های زیر بر روی آن قرار دارد

<?xml version="1.0" encoding="UTF-8"?>
<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">
</beans>

حال باید مشخصات کلاس Hello‌ را تحت عنوان یک bean‌ در داخل فایل xml بنویسیم. برای همین کد زیر را در داخل تگ <beans> قرار می دهیم.

<bean id="Hello" class="Hello">
    <property name="message" value="Mehdi Adeli"/>
</bean>

هر کلاس را در قالب یک تگ bean‌ معرفی می‌کنیم و ورودی هایی را که باید بدهیم را نیز در قالب کی property معرفی می نماییم. در تگ bean‌ آدرس کلاس مربوطه را باید با توجه به نام پکیج باید داد. در تگ property در قسمت value مقداری را که می‌خواهیم تحت عنوان message به کلاس Hello‌ داده شود را وارد می کنیم. وقتی که برنام را اجرا می‌کنیم فریمورک spring‌‌ از این فایل xml‌ برای پیکربندی پروژه استفاده می کند. حال اگر فایل Main‌ را اجرا کنیم. خروجی برنامه به شکل زیر خواهد بود

Hello Itpro user the message from spring framework: Mehdi Adeli

خب می‌بینیم که برنامه به شکلی که مد نظر ما بود کار می کند. دقت داشته باشید که به کلاس‌هایی مانند Hello که با هیچ کلاس دیگری ارتباط ندارند و از هیچ کلاس دیگری استفاده نمی‌کنند کلاس POJO‌ گفته می شود. امیدوارم که از این آموزش استفاده های لازم را برده باشید. Itpro‌ باشید

نویسنده: مهدی عادلی فر

منبع: Itpro

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات