日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java 装配_JAVA入门[13]-Spring装配Bean

發布時間:2025/3/20 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 装配_JAVA入门[13]-Spring装配Bean 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、概要

Sping裝配bean主要有三種裝配機制:

在XML中進行顯式配置。

在Java中進行顯式配置。

隱式的bean發現機制和自動裝配。

原則:

建議盡可能地使用自動配置的機制,顯式配置越少越好。當你必須要顯式配置bean的時候(比如,有些源碼不是由你來維護的,而當你需要為這些代碼配置bean的時候),我推薦使用類型安全并且比XML更加強大的JavaConfig。最后,只有當你想要使用便利的XML命名空間,并且在JavaConfig中沒有同樣的實現時,才應該使用XML。

二、自動裝配

Spring從兩個角度來實現自動化裝配:

組件掃描(component scanning):Spring會自動發現應用上下文中所創建的bean。

自動裝配(autowiring):Spring自動滿足bean之間的依賴

1.組件掃描

@Component注解:添加注解表明該類會作為組件類,并告知Spring要為這個類創建bean。

package bean;

import org.springframework.stereotype.Component;

@Component

public class Category {

private int cateId;

public int getCateId() {

return this.cateId;

}

public void setCateId(int id) {

this.cateId = id;

}

@Override

public String toString() {

return " 商品類型 id=" + this.cateId;

}

}

2.啟用組件掃描兩種方式:

①使用XML來啟用組件掃描,在applicationContext.xml配置:

單元測試:

@ContextConfiguration(locations = "classpath*:applicationContext.xml")

@RunWith(SpringJUnit4ClassRunner.class)

public class testAutowireXml {

@Autowired

private Category category;

@Test

public void TestXmlBean() {

Assert.assertNotNull(category);

}

}

②使用java配置

前面的bean類不做任何調整,通過@ComponentScan注解實現自動掃描。例如新建java配置文件BeanConfig.java

@Configuration

@ComponentScan(basePackageClasses = bean.Category.class)

public class BeanConfig {

}

單元測試:

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(classes = BeanConfig.class)

public class testAutowireJava {

@Autowired

private Category category;

@Test

public void categoryNotNull() {

Assert.assertNotNull(category);

}

}

三、JavaConfig裝配bean

上面的BeanConfig就是用java config方式實現的。java Config也是一個java類,但它不應該包含任何業務邏輯,也不應該侵入到業務邏輯代碼之中,通常會將JavaConfig放到單獨的包中。

創建java config關鍵是使用@Configuration ,表明這個類是一個配置類,該類應該包含在Spring應用上下文中如何創建bean的細節。

在JavaConfig中聲明bean,我們需要編寫一個方法,這個方法會創建所需類型的實例,然后給這個方法添加@Bean注解。

我們新建一個config文件JavaConfig.java,是在BeanConfig.java基礎上去掉@ComponentScan注解,并添加category()返回Category實例。

@Configuration

public class JavaConfig {

@Bean

public Category category(){

return new Category();

}

}

單元測試:

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(classes = JavaConfig.class)

public class testJavaConfig {

@Autowired

private Category category;

@Test

public void testCategoryBean(){

Assert.assertNotNull(category);

}

}

四、XML方式裝配bean

在JAVA入門[3]—Spring依賴注入這篇筆記中包含了如何通過xml方式裝配bean實例。

1.構造器傳參

①首先為Category添加構造函數:

public class Category {

private int cateId;

public Category() {

}

public Category(int id) {

cateId = id;

}

public int getCateId() {

return this.cateId;

}

public void setCateId(int id) {

this.cateId = id;

}

@Override

public String toString() {

return " 商品類型 id=" + this.cateId;

}

}

②applicationContext添加bean節點,為constructor-arg設置Id或者index。

③單元測試:

@ContextConfiguration(locations = "classpath*:applicationContext.xml")

@RunWith(SpringJUnit4ClassRunner.class)

public class testAutowireXml {

@Autowired

private Category category;

……

@Test

public void testId(){

Assert.assertEquals(100,category.getCateId());

}

}

④c-命名空間

這種語法用起來簡化一些。

調整②中的bean節點:

2.設置屬性 :

①通過為bean設置property實現屬性

②p-命名空間

前面的bean配置可以簡化為:

五、屬性占位符

Spring支持將屬性定義到外部的屬性的文件中,并使用占位符值將其插入到Spring bean中。在Spring裝配中,占位符的形式為使用“${ ... }”包裝的屬性名稱。

config.properties:

cateid=100

spring-config.xml:

classpath:properties/config.properties

總結

以上是生活随笔為你收集整理的java 装配_JAVA入门[13]-Spring装配Bean的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。