依存的注入を1.spring
a))は、設定された依存性の注入法(プロパティ]タブで完成されました
<! - 注入法による完全なセット ID:IDを持つが呼び出されます クラス:クラス春完全なクラス名管理 プロパティ:クラス属性 名前:属性名 参照:属性を参照して注入されます 値:属性文字列、プリミティブ型およびパッケージング注入の基本的なタイプ - > <ビーンID = "UserControllerで" クラス= "com.zhiyou100.kfs.controller.UserController"> <プロパティ名= "UserServiceの" REF = "UserServiceの"> </ property>の <プロパティ名= "名前" 値= "ZS"> </ property>の < - リスト:!集合を表します - > <プロパティ名=「リスト」> <リスト> <値>张三</ value>の <値>张四</ value>の </リスト> </プロパティ> <! - マップ:地図表現タイプ エントリ: - > <プロパティ名=「マップ」> <マップ> <エントリキー= "1" 値= "张三"> </エントリ> <エントリキー= "2" 値= "张四"> </エントリ> </マップ> </プロパティ> </豆> <ビーンID = "UserServiceの" クラス= "com.zhiyou100.kfs.service.UserServiceImp"> </豆> |
B)コンストラクタ依存性注入が完了したことにより(コンストラクタ、引数タグ)
<ビーンID = "hello2" クラス= "com.zhiyou100.kfs.bean.Hellow"> <! - 2.constructor-引数:クラス別のプロパティ値コンストラクタを注入 index:第几个参数 索引从0开始 name:通过构造方法的参数名为类注入属性值 --> <constructor-arg index="0" value="张四"/> <constructor-arg index="1" value="13"/> </bean> |
2.spring依赖注入的类型
a) 基本数据类型
b) 对象
c) List类型,Array类型
d) Map类型
3.bean的作用域
<!-- scope:bean的作用域,默认为singleton,prototype:原生对象(非单例) --> <bean id="hello" class="com.zhiyou100.kfs.bean.Hellow" scope="prototype"/> |
4.自动注入的方式
<!-- autowire:自动注入的属性 byType:根据userDao属性的类型找与之匹配的 bean byName:根据属性姓名找与之匹配的bean的id,id和属性名一致 --> <bean id="uService" class="com.zhiyou100.kfs.bean.UserService" autowire="byName"></bean> |
5.在spring配置文件中引入属性文件
<!-- spring引入属性文件 ,spring2.5之后 若想引入多个属性文件可以用通配符:*或用多个classpath: --> <context:property-placeholder location="classpath:*.properties"/>
<!--spring2.5之前 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:my.properties"></property> </bean> --> |
6.使用注解的方式
1.jar包(多加个AOPjar包)
2.配置包扫描
<!-- 包扫描 --> <context:component-scan base-package="com.zhiyou100.kfs"/> |
3.在相应的类上加上注解
@Repository(value="userDao"):持久化注解
@Service(value="userService"):业务层注解
@Controller(value="userController"):控制层注解
@Autowired:自动按照类型注入,若有多个类型相同的那么会再按照名称注入
@Resource(name="") 自动注入,先按照名称注入,若没有相同名称那么会按照类型注入。它可以指定名称来注入