属性注入: 创建对象时候,向类里面属性里面设置值 注入的三种方式(java),在Spring框架中只支持前面两种方式 第一种:使用set方法注入 public class User{ private String name; public void setName(String name){ this.name=name; } } User user=new User(); user.setName("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 class DaoImplements Dao{ private String name; public void delete(String name){ this.name=name; } }
使用有参数构造注入属性 <bean id="demo" class="cn.itcast.property.propertyDemo1"> <constructor-arg name="username" value="小王小马"></constructor> </bean> public class TestIOC{ public void testUser(){ 1.加载Spring配置文件,根据创建对象 APPlicationContext context=new ClassPathXmlApplicationContext("bean1.xml") 2.得到配置创建的对象 PropertyDemo1 demo1=(PropertyDemo1)context.getBean("demo"); demo1.test1(); } }
使用set方法注入属性(使用的更多) <bean id="book" class="cn.itcast.property.Book"> //代表对象已经创建 //name属性值:类里面定义的属性名称 value属性:设置具体的值 <property name="bookname" vlaue="易筋经"></property> </bean> public class Book{ private String bookname; public void setName(String bookname){ this.bookname=bookname; } pubic void demobook(){ system.out.println("book........"+bookname); } } public class TestIOC{ public void testUser(){ 1.加载Spring配置文件,根据创建对象 APPlicationContext context=new ClassPathXmlApplicationContext("bean1.xml") 2.得到配置创建的对象 Book book=(Book)context.getBean("book"); book.demobook(); } }