发表于: 2017-09-09 23:27:56

1 836


今天完成的事
Bean标签常用属性
(1)id属性
起名称,id属性值理论上可以任意命名,不能包涵特殊符号,不能加_或者#,根据id值得到配置对象
(2)class属性
创建对象所在类的全路径
(3)name属性
功能和id属性一样的,id不能包涵特殊符号,但是name可以,name属性是遗留属性,整合struts1时可以使用
(4)scope属性
scope是范围的意思,指对象的范围
有以下几个值
singleton:默认值,单例的
什么是默认值?对象是单例对象
prototype:多例的
request:创建对象把对象放到request域里面
session:创建对象把对象放到session域里面
globalSession:创建对象把对象放到globalSession域里面
属性注入
向类里面的属性中设置它的值就是属性注入
创建对象时,向类里面属性设置值
属性注入的方式介绍(三种方式)
第一种 使用set方法
public class User{
private String name;
private void setName(String name){
this.name=name;
}
}
User user = new User();
user.serName("abcd")
第二种 有参构造输入
public class User{
private String name;
public User(String name){
this name = name;
}
}
User user = new User("lucy")
第三种 使用接口注入
public interface Dao{
public void delete(String name);
}
public interface Dao{
public void delete(String name);
}
3.在spring框架里面,支持前两种方式
在实际开发中使用最多的是set方法注入
使用有参构造注入属性
<bean id="随便起" class = "绝对路径.实例类">
<constructor-arg name ="类里面定义的属性名称" value="随意"></constructor-arg>
使用set方法注入属性
<bean id="随便起" class = "全路径">
< property name="类里面定义的属性名称" value="随意"></property>
注入对象类型属性(重点)
实例
1.创建service和dao类
具体实现过程
(1)在service里面把dao作为类型属性
(2)生成dao类型属性的set方法
package com.jnshu.ioc;
public class UserService {
// 1.定义dao类型属性
private UserDao userDao;
// 2.生成set方法
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add(){
System.out.println("service.......");
userDao.add();
}
}
package com.jnshu.ioc;
public class UserDao {
public void add(){
System.out.println("dao.......");
}
}
(3)配置文件中注入关系
<bean id="userService" class="com.jnshu.ioc.UserService">
<!--注入dao对象
name属性值,service类里面属性名称
ref写dao配置bean的id值-->
<property name="userDao" ref="userDao"></property>
</bean>
明天计划的事
学习怎样注入复杂类型属性,学习spring整合we原理,spring的bean管理
遇到的问题
1.测试类需要怎样才能运行?是不是一定需要public static void main(String[] args) {}才可以?
收获
方法操作实例变量



返回列表 返回列表
评论

    分享到