-
筆記基于java的容器注解
查看全部 -
Spring是什么
1、控制反轉Ioc
2、AOP面向切面編程
查看全部 -
如何學習Spring
查看全部 -
pointcut方法表達式和組件掃描有關,如果還有掃描其他包需要寫類名和包名。
查看全部 -
1、?從Spring3.0開始,Spring JavaConfig項目提供了很多特性,包括使用java而不是XML定義bean,比如@Configuration,@Bean,@Import,@DependsOn
2、?Component是一個通用注解,可用于任何bean
3、?@Repository,@Service,@Controller是更有針對性的注解
@Repository通常用于注解DAO類,即持久層
@Service通常用于注解Service類,即服務層
@Controller通常用于Controller類,即控制層(MVC)
4、?類的自動檢測及Bean 的注冊
為了能夠檢測這些類并注冊相應的Bean,需要下面內容
在spring.xml配置文件中加上
<context:component-scan base-package=”org.example”/>
<context:componect-scan>包含<context:annotation-config>,通常使用前者后,不再使用后者
<context:component-scan>和<context:annotation-config>的區(qū)別:
Componect-scan可以掃描基于類的注解,
Annotation-config只能在完成bean的注冊之后去處理bean中的方法,或者成員變量的注解
5、?元注解
許多Spring提供的注解可以作為自己的代碼,即”元數據注解”,元注解是一個簡單的注解,可以應用到另一個注解
注解中除了有value(),元注解還可以有其他的屬性,允許定制。
6、?使用過濾器進行自定義掃描
默認情況下,類被自動發(fā)現并注冊bean的條件是:使用@Component,@Repository,@Service,@Controller注解或者使用@Component自定義注解
可以通過過濾器修改上面的行為,如:下面例子的XML配置忽略所有@Repository注解并用”Stub”代替
<beans>
<context:component-scan base-package=”org.example”>
<context:include-filter type=”regex”?expression=”.*Stub.*Repository”/>使用正則表達式判斷
<context:exclue-filter type=”annotation”?expression=”org.springframework.stereotype.Repository”/>
使用注解來判斷
<context:component-scan>
</beans>
還可以使用use-default-filters=”false”?禁用自動發(fā)現與注冊
7、?掃描過程中組件被自動檢測,那么Bean名稱是由BeanNameGenerator生成的(Spring注解中都會有個name屬性用于顯式設置Bean Name)
可自定義bean命名策略,實現BeanNameGenerator接口,并一定要包含一個無參數構造函數。
<beans>
<context:component-scan base-package=”org.example”?name-generator=”org.example.MyNameGenerator”/>
? </beans>
8、?作用域(Scope)
通常情況下自動查找的Spring組件,其scope是singleton,Spring2.5提供了一個標識scope的注解@Scope,如果沒有定義作用域的情況下,spring會默認定義作用域為prototype;如果沒有為bean指定value()的bean名字的話,ioc容器會將類名的第一個字母小寫,作為beanName
也可以自定義scope策略,實現ScopeMetadataResolver接口并提供一個無參構造器
<beans>
<context:component-scan base-package=”org.example”?scope-resolver=”org.example.MyScopeResolver”>
</beans>
9、?代理方式
可以使用scoped-proxy屬性指定代理,有三個值可選:no,interfaces,targetClass
<beans>
<context:component-scan base-package=”org.example”?scoped-proxy=”interfaces”/>
</beans>
查看全部 -
Spring查看全部
-
Spring的注入方式:①設值注入-get, set方法形式②查看全部
-
2-1 IOC及bean容器
查看全部 -
Bean的作用域
作用域是在Spring配置文件xml中作用的,寫在bean文件的scope中
Singleton:屬于請求兩次對象產生的hashcode的值是一樣的,而兩個Test測試方法不能測試,因為Test方法在執(zhí)行前會進行before和after,會打開和關掉對配置的請求,
Prototype:每次請求都會創(chuàng)建新的實例,不會再次使用,會被GC回收掉,destroy方式不生效。
Request和session略過
Global session:當我們在應用中,例如財務系統(tǒng),oa系統(tǒng)中,請求一次會跳轉到其他的系統(tǒng),一般兩個系統(tǒng)的session不會一樣的,但是global session會將請求的對象帶到另一個系統(tǒng)內,此作比喻說明。
查看全部 -
在加載InjectionServiceImpl實例化對象a1中,a1對象會執(zhí)行injectionDAO變量的構造方法,經過引用ref,到實例化InjectionDAOImpl對象a2,將對象賦值給a1對象中的屬性injectionDAO
查看全部 -
在加載InjectionServiceImpl實例化對象a1中,a1對象里邊有injectionDAO這個屬性,經過引用ref,到實例化InjectionDAOImpl對象a2,將對象賦值給a1對象中的屬性injectionDAO
查看全部 -
7-1 aspectj介紹及pointcut注解,筆記引用
查看全部 -
6-3 自動代理選定的bean
查看全部 -
6-3 ProxyFactoryBean
查看全部 -
11111
查看全部
舉報