!--配置runner--
>
"runner"
class
="org.apache.commons.dbutils.queryrunner" scope=
"prototype"
>
<
!--注入資料來源--
>
"ds" ref=
"datasource"
>
<
/constructor-arg>
<
/bean>
<
!--配置資料來源--
>
"datasource"
class
="com.mchange.v2.c3p0.combopooleddatasource"
>
<
!--連線資料庫的必備資訊--
>
"driverclass" value=
"com.mysql.jdbc.driver"
>
<
/property>
"jdbcurl" value=
"jdbc:mysql://localhost:3306/eesy"
>
<
/property>
"user" value=
"root"
>
<
/property>
"password" value=
"123456"
>
<
/property>
<
/bean>
<
/beans>1.@configuration
2.@componentscan
作用:用於通過註解指定spring在建立容器時要掃瞄的包
屬性(value
):它和basepackages
的作用是一樣的,都是用於指定建立容器時要掃瞄的包。
使用此註解等於在xml中配置了:
package
="net.togogo"
>
<
/context:component-scan>
3.@bean
作用:用於把當前方法的返回值作為bean物件存入spring的ioc容器中。
屬性name
:用於指定bean的id。當不寫時,預設時當前方法的名稱。
細節:當我們使用註解配置方法時,如果有方法引數,spring框架會去容器查詢有沒有可用的bean物件。 查詢的方式和autowired註解的作用是一樣的。
/**
* 用於建立乙個queryrunner物件
* @param datasource
* @return
*/@bean
(name =
"runner"
)public queryrunner createqueryrunner
(datasource datasource)
//1.獲取容器
new(springconfig.
class
);
此時的queryrunner物件是單例的,於是需要在建立queryrunner的類上加上@scope("prototype")
。
當有另外乙個配置類的時候,我們要在該配置類上寫@configuration
,而且要在主配置類上對該配置類的包進行掃瞄(@componentscan
)
還可以:設定父子配置類
4.@import
可以採取配置檔案得方法把連線資料庫得幾個引數放出來
jdbc.properties
jdbc.driver=com.mysql.jdbc.driver
jdbc.url=jdbc:mysql:
//localhost:
3306
/eesy
jdbc.username=root
jdbc.password=
123456
jdbcconfig類中:
public
class
jdbcconfig")
private string driver;
@value
("$"
)private string url;
@value
("$"
)private string username;
@value
("$"
)private string password;
5.propertysource
在主配置類中:加上@propertysource("classpath:jdbc.properties")
spring註解之 Scope註解
1,scope註解是什麼 scope註解是springioc容器中的乙個作用域,在 spring ioc 容器中具有以下幾種作用域 基本作用域singleton 單例 prototype 多例 web 作用域 reqeust session globalsession 自定義作用域 a.single...
spring註解之 value註解
首先在xml中定義乙個bean如下 把對應的引數以property中value的形式注入 測試 如下 根據bean id獲取bean物件 system.out.println bean 執行結果如下 可以發現已經獲取到xml中配置的屬性了 user username zhangsan,age 26 ...
spring註解之 Lazy註解
1,lazy註解是什麼 lazy註解用於標識bean是否需要延遲載入,原始碼如下 target retention retentionpolicy.runtime documented public inte ce lazy只有乙個引數,預設是true,也就是說只要加了這個註解就會延遲載入 2,la...