Tutorial Musim Bunga,,en,Pengimbasan komponen dalam rangka Spring,,en,Pengimbasan komponen dalam rangka Spring,,en,pengaturcara cenderung untuk menyatakan kacang atau komponen dalam fail kacang konfigurasi XML,,en,untuk membolehkan bekas Spring mengesan dan mendaftarkannya,,en,anda harus tahu bahawa Spring mampu melakukan imbasan secara automatik,,en,mengesan dan seterusnya,,en,memasukkan kacang dari pakej projek yang sudah ditentukan,,en,yang dapat menyelamatkan anda dari tugas membosankan kerana harus menyatakan kacang dalam fail XML yang berasingan,,en,Inilah yang akan kita perhatikan dalam tutorial ini,,en,Apakah penemuan kacang secara automatik,,en,Semasa bekerja dengan Spring,,en,boleh digunakan dengan menggunakan kacang,,en,hujah pembina dan tag harta,,en,ketika kita menghadapi aplikasi besar,,en,jelas bahawa bilangan kacang meningkat dan begitu juga,,en – Component scanning in Spring framework

Component scanning in Spring framework

Tutorial Musim Bunga,,en,Pengimbasan komponen dalam rangka Spring,,en,Pengimbasan komponen dalam rangka Spring,,en,pengaturcara cenderung untuk menyatakan kacang atau komponen dalam fail kacang konfigurasi XML,,en,untuk membolehkan bekas Spring mengesan dan mendaftarkannya,,en,anda harus tahu bahawa Spring mampu melakukan imbasan secara automatik,,en,mengesan dan seterusnya,,en,memasukkan kacang dari pakej projek yang sudah ditentukan,,en,yang dapat menyelamatkan anda dari tugas membosankan kerana harus menyatakan kacang dalam fail XML yang berasingan,,en,Inilah yang akan kita perhatikan dalam tutorial ini,,en,Apakah penemuan kacang secara automatik,,en,Semasa bekerja dengan Spring,,en,boleh digunakan dengan menggunakan kacang,,en,hujah pembina dan tag harta,,en,ketika kita menghadapi aplikasi besar,,en,jelas bahawa bilangan kacang meningkat dan begitu juga,,en – Component scanning in Spring framework

Tinjauan:

Secara umumnya, programmers tend to declare the beans or components in a bean file of XML configuration, in order to allow the Spring container to detect and register them. However, you should know that Spring is capable of auto scanning, detecting and further, instantiating beans from the already defined project package. So, that can save you of the tedious task of having to declare beans in a separate XML file. This is what we are going to look into in this tutorial.








What is automatic discovery of beans?

When working with Spring, dependency injection can be used by using bean, constructor arguments and property tags. However, when we are encountering large applications, it is obvious that the number of beans increase and the likewise, jumlah XML yang akan ditulis boleh menjadi tidak berat dan besar,,en,Spring menyediakan ciri yang dikenali sebagai Pendawaian Auto,,en,menggunakan yang,,en,jumlah XML dapat diminimumkan dengan mempertimbangkan bahawa beberapa andaian dapat dibuat mengenai penamaan kacang dan sifat,,en,Dengan menggunakan ciri ini,,en,bilangan tag,,en,seperti harta tanah dan pembina-arg,,en,dikurangkan untuk sebahagian besar dan ukuran,,en,juga dapat dikurangkan untuk aplikasi besar,,en,walaupun pada kenyataannya tag kacang yang berwayar secara automatik masih perlu ditentukan dalam fail spring-config.xml,,en,Musim bunga dapat membantu mengelakkan definisi kacang juga,,en,anda mempunyai kaedah mencari kacang yang akan disuntik secara automatik,,en,Penemuan kacang secara automatik diatur oleh peraturan tertentu,,en,Penggunaan konteks teg,,en,tag anotasi di spring-config.xml membenarkan Spring menggunakan Anotasi,,en.

So, Spring provides the feature known as Auto-Wiring, using which, the amount of XML can be minimized considering that some assumptions can be made about the naming of beans and properties. By using this feature, the number of tags, like property and constructor-arg, are reduced to a large extent and the size of XML can also be reduced for large applications.

And, despite the fact that bean tags that are auto-wired still require to be defined in the spring-config.xml file, Spring can help in avoiding bean definitions as well. Thus, you have a way of automatically discovering beans to be injected.

The automatic discovery of beans is governed by certain rules. These are –

  • The usage of the tag context:annotation-tag in the spring-config.xml allows Spring to use Annotations.
  • Menggunakan konteks,,en,komponen komponen imbasan di spring-config.xml memberitahu Spring paket di mana ia dapat menemui kacang secara automatik,,en,Penggunaan anotasi @Component adalah untuk menandakan kelas sebagai kacang yang dapat ditemui secara automatik untuk Spring,,en,anda dapat melihat bahawa jika anotasi @Component digunakan maka tidak perlu menyatakan kacang dalam fail spring-config.xml,,en,dengan demikian menjaga,,en,cahaya juga,,en,Mengapa imbasan komponen automatik penting,,en,Imbasan komponen automatik sangat penting kerana dapat membantu mengurangkan jumlah XML,,en,kerana tidak perlu menyatakan definisi kacang secara berasingan dalam fail spring-config.xml,,en,kerana anda tidak perlu menyatakan definisi kacang secara berasingan,,en,ia menjimatkan banyak masa dan menjadikan prosesnya mudah,,en,Apakah jenis anotasi untuk imbasan komponen automatik,,en,Seperti pada musim bunga,,en:component-scan tag in the spring-config.xml tells Spring the package where it can auto-discover beans.
  • The use of @Component annotation is to mark a class as an auto-discoverable bean for Spring.

So, you can see that if the @Component annotation is used then there is no need to declare beans in the spring-config.xml file, thus keeping the XML light as well.

Why automatic component scan is important?

Automatic component scan is largely important as it helps to reduce the amount of XML, as there is no need to declare bean definitions separately in the spring-config.xml file. Also, since you do not have to declare bean definitions separately, it does save a lot of time and makes the process simple.

What are the annotation types for automatic component scan?

As per Spring 2.5, terdapat empat jenis anotasi imbasan komponen automatik,,en,- Bermaksud untuk komponen imbasan automatik,,en,@Rositori,,en,- Petunjuk komponen DAO pada lapisan kegigihan,,en,- Petunjuk komponen perkhidmatan lapisan perniagaan,,en,- Ini menunjukkan komponen pengawal di lapisan persembahan,,en,Penggunaan anotasi @Component sahaja boleh digunakan untuk memberi penjelasan kepada tiga anotasi yang lain,,en,ini adalah pilihan yang paling digemari semasa menulis kod,,en,Bagaimana penemuan automatik dicapai dalam rangka Spring,,en,Keempat-empat anotasi yang telah disebutkan di atas dapat disiapkan untuk pengetinan dan penemuan automatik,,en,Proses untuk melakukannya agak mudah,,en,Anda perlu menggunakan konteksnya,,en,komponen komponen imbasan dalam fail spring-cofig.xml untuk membolehkan ciri imbasan automatik,,en. These are –

  • @Component – Meant for an auto scan component.
  • @Repository – Indication of DAO component in the persistence layer.
  • @Service – Indication of service component the business layer.
  • @Controller – This indicates controller component in the presentation layer.

The use of just @Component annotation can be used to annotate the other three annotations. So, this is the most preferred choice when writing code.

How automatic discovery is achieved in Spring framework?

All of the four annotations that have been mentioned above can be set for automatic canning and discovery. The process to do so is rather simple.

You will need to use the context:component-scan tag in the spring-cofig.xml file to enable the automatic scanning feature.








Environment setup:

Setting up the environment for Spring based application development involves just three major steps.

  • Setting up Java Development Kit

Download JDK from the Oracle site and then, install and configure it. Then the PATH and JAVA_HOME environment variables must be set.

  • Setting of Eclipse IDE

Eclipse can be downloaded from the official website. Once downloaded, unpack the binaries and then set the PATH as well.

  • Setting up Spring libraries

The Spring libraries may be obtained from http://repo.spring.io/release/org/springframework/spring/. Again, it is important to set the CLASSPATH correctly.

Sekarang persekitaran anda sudah siap untuk mulai mengembangkan aplikasi Java berbasis Spring,,en,Pada bahagian ini kita akan menulis kacang berdasarkan anotasi dan kemudian menggunakan imbasan komponen dalam fail XML untuk mengenal pasti kacang ke bekas Spring,,en,Pertama ialah kacang syarikat dengan nilai lalai yang disebut dengan menggunakan anotasi,,en,Ini adalah kacang syarikat,,en,com.techalpine.autoscan,,pt,org.springframework.beans.factory.annotation.Value,,en,org.springframework.stereotype.Component,,en,Produk produk,,en,@Nilai,,en,Kereta Kecil,,en,Pramama rentetan,,en,Harga rentetan,,en,String getPrprice,,en,harga,,ro,set harga,,en,harga = harga,,ro,Produk getProduct,,en,setProduk,,en,produk = produk,,en,Rentetan getPrname,,en,nama depan,,en,setPrname,,en,prname = nama hadapan,,en,Ini adalah kacang produk yang mempunyai kaedah getter dan setter yang mudah,,en,Ini adalah kacang produk,,en,Produk,,en,Harga rentetan,,en,String getPrice,,en,harga,,en,set Harga,,nl,harga = harga,,en.

Sample application:

In this section we will write annotation based beans and then use component scan in the XML file to identify the beans to the Spring container.

First is the company bean with default values mentioned by using annotations.

Listing 1: This is the company bean

package com.techalpine.autoscan;

mengimport org.springframework.beans.factory.annotation.Value;

mengimport org.springframework.stereotype.Component;

@Component

awam kelas Syarikat {

swasta Product product;

@Value(“Small Car”)

swasta String prname;

@Value(“4,00,000”)

swasta String prprice;

 

awam String getPrprice() {

pulangan prprice;

}

awam membatalkan setPrprice(String prprice) {

this.prprice = prprice;

}

awam Product getProduct() {

pulangan product;

}

awam membatalkan setProduct(Product product) {

this.product = product;

}

awam String getPrname() {

pulangan prname;

}

awam membatalkan setPrname(String prname) {

this.prname = prname;

}

}

This is the product bean having simple getter and setter methods.

Listing 2: This is the product bean

package com.techalpine.autoscan;

mengimport org.springframework.stereotype.Component;

@Component

awam kelas Product {

swasta String name;

swasta String price;

awam String getName() {

pulangan nama;

}

awam membatalkan setName(String name) {

this.name = name;

}

awam String getPrice() {

pulangan price;

}

awam membatalkan setPrice(String price) {

this.price = price;

}

}

Ini adalah bahagian terpenting yang mengandungi arahan untuk mengimbas komponen secara automatik dalam pakej,,en,Anda boleh menggunakan beberapa pakej atau lokasi pakej lain untuk mengaktifkan imbasan automatik,,en,Ia memerintahkan bekas untuk mencari kacang yang berkaitan dan kemudian mengintegrasikannya apabila diperlukan,,en,Ia melakukan keajaiban sebenar pada musim bunga,,en,Sintaks arahan adalah seperti di bawah,,en,Ia mengimbas semua kacang di bawah,,en,imbasan komponen,,en,pakej asas =,,en,Ini adalah fail konfigurasi XML,,en,www.springframework.org/schema/beans/spring-beans-2.5.xsd,,en,www.springframework.org/schema/context/spring-context-2.5.xsd,,en,Ini adalah fail utama untuk menguji aplikasi,,en,org.springframework.context.ApplicationContext,,en,org.springframework.context.support.FileSystemXmlApplicationContext,,en,AutoScanMain,,da,Konteks ApplicationContext =,,en,FileSystemXmlApplicationContext,,en,WebContent / WEB-INF / autoScanConfig.xml,,en. You can use multiple packages or any other package location to enable auto-scan. It instructs the container to find the related beans and then integrate them as and when required. It does the actual magic in spring application.

The instruction syntax is as shown below. It scans all the beans under com.techalpine.autoscan package.

<context:component-scan base-package=“com.techalpine.autoscan” />

Listing 3: This is the XML configuration file

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xmlns:context=“http://www.springframework.org/schema/context”

xsi:schemaLocation=“http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-2.5.xsd”>

<context:component-scan base-package=“com.techalpine.autoscan” />

</beans>

This is the main file to test the application.

Listing 4: This is the main Java file

package com.techalpine.autoscan;

mengimport org.springframework.context.ApplicationContext;

mengimport org.springframework.context.support.FileSystemXmlApplicationContext;

awam kelas AutoScanMain {

awam statik membatalkan utama(Rentetan[] args) {

ApplicationContext context = baru FileSystemXmlApplicationContext(

“WebContent/WEB-INF/autoScanConfig.xml”);

Syarikat kompobj =,en (Syarikat) context.getBean(“company”);

Sistem.daripada.println(“Product Name: “+compobj.getPrname());

Sistem.daripada.println(“Product Price: “+compobj.getPrprice());

}

}

Now, run the application and it will show the following output

Product Name: Small car

Product Price: 4,00,000








Kesimpulan

Defining beans separately in the configuration file can be hectic job for any programmer. Automatic component scanning in Spring is a very useful feature that can help a programmer to cut down on massive XML files for applications that are large.

This tutorial shows you how to setup and further explains how to implement auto component scanning with the help of a simple example.

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share