spring入门(一)
1. xml裝配Bean
假如有兩個bean,一個是SuperMan,里面有個run()方法調(diào)用Behavior的run()方法,那個如何往SuperMan中注入Behavior對象呢
(1)SuperMan通過構(gòu)造器注入Behavior對象
?
(2)EatBehavoirImpl實現(xiàn)Behavior的接口
?
(3)通過spring.xml配置注入
?
(4)運行測試
1.通過ApplicationContext去加載spring.xml配置文件
2.使用得到的上下文對象去獲取對象
?
2.Aop切面編程
通過xml的配置可以在運行一個方法前或后去運行其他方法,比如日志操作等
(1) 比如要在superMan.run()方法運行前和后分別運行
?
那首先是要配置jar包
?
然后配置spring.xml
1.?? 裝配bean
2.?? 配置aop,aspect ref指向附加方法的對象Id,
3.?? pointcut (切點) expression表達式指向要運行的方法
execution(* com.spring.pojo.SuperMan.*(..))
第一個*指的是返回值,表示所有類型,然后空格,包名.類名.*(..)指類下所有的方法,
4.Before,After指運行前或后要運行的方法
3.深入裝配Bean
3.1一個參數(shù)的構(gòu)造
3.1.1.創(chuàng)建一個有參構(gòu)造的WoMan類
?
3.1.2配置spring.xml去裝配Woman類,通過<constructor-arg value="1000"></constructor-arg> 往有參構(gòu)造中注入?yún)?shù)
?
3.1.3如果參數(shù)是類,則不能用value,而用ref
?
3.2兩個參數(shù)構(gòu)造(一個類,一個普通類型)
3.2.1修改Women類
3.2.2修改配置
?
3.2.3運行結(jié)果
3.3bean的作用域
3.3.1單例
?
通過配置scope屬性的值來指定作用域
3.3.2作用域
3.4bean初始化和銷毀執(zhí)行方法
3.4.1對特定的bean
?
3.4.2同時也可以在beans中配置全局變量
?
4.基于注解裝配bean
4.1開啟注解
<context:component-scan>可以掃描基于類的注解
<context:component-scan>包含<context:annotation-config>,通常在使用<context:component-scan>后,就不再使用<context:annotation-config>
?
或者
4.2注解關(guān)鍵詞
@Component是一個通用注解,可用于任何bean;
@Repository、@Service、@Controller是更有針對性的注解,也是@Component的子注解:
@Repository通常用于注解Dao類,即持久層
@Service通常用于注解Service類,即服務(wù)層
@Controller通常用于注解Controller類,即控制層(MVC)
@Bean(name = "stringStore",initMethod="init",destroyMethod = "destroy")指定初始化方法,和摧毀方法
@Scope的取值是:singleton、prototype、request、session、global session。對象生命周期
4.3注入屬性
@Autowired自動裝配屬性
@ReSourse(name=””)當(dāng)接口有多個實現(xiàn)可以通過這個關(guān)鍵字指定實現(xiàn)類
5.基于注解Aop
@Aspect
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/jnxj/p/8608199.html
總結(jié)
以上是生活随笔為你收集整理的spring入门(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos入门-3
- 下一篇: web项目开启日志打印