Bean标签常用属性,属性注入操作
程序员文章站
2022-06-04 19:42:58
...
Bean标签常用属性
- id属性,任意命名。根据id值得到配置对象
- class属性,创建对象所在类的全路径
- name属性,功能和id属性一样,那么属性可以包含特殊符号,id不可以
- scope属性。
属性注入操作(三种方式):
- 使用set方法注入
- 使用有参数构造方法注入
- 使用接口注入
使用有参数构造注入属性:
PropertyDemo.java
public class PropertyDemo {
private String name;
public PropertyDemo(String name)
{
this.name=name;
}
public void test()
{
System.out.println("test");
}
}
bean.xml<bean id="demo" class="property.PropertyDemo">
<constructor-arg name="name" value="sa"></constructor-arg>
</bean>
TestPropertypublic class TestProperty {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"bean1.xml");
PropertyDemo propertyDemo = (PropertyDemo) context.getBean("demo");
System.out.println(propertyDemo);
propertyDemo.test();
}
}
使用set注入:
Book.java
public class Book {
private String bookname;
public void setBookname(String bookname)
{
this.bookname=bookname;
}
public void test()
{
System.out.println(" "+bookname);
}
}
bean.xml<!-- 使用set注入 -->
<bean id="set" class="property.Book">
<!-- 注入属性值 -->
<property name="bookname" value="secret"></property>
</bean>
测试:public class testBook {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"bean1.xml");
Book book = (Book) context.getBean("set");
System.out.println(book);
book.test();
}
}
注入对象类型属性:
1、创建service类和dao类
(1)在service得到dao对象
2、具体实现过程
(1)在service里面把dao作为类型属性
(2)生成dao类型属性的set方法
UserService.java
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao)
{
this.userDao=userDao;
}
public void add()
{
System.out.println("service");
userDao.add();
}
}
UserDao.javapublic class UserDao {
public void add()
{
System.out.println("dao");
}
}
bean.xml<!-- 注入对象类型的属性 -->
<bean id="userdao" class="cn.itcast.ioc.UserDao"></bean>
<bean id="userservice" class="cn.itcast.ioc.UserService">
<!-- 注入dao对象,不要写value属性 -->
<property name="userDao" ref="userdao"></property>
</bean>
测试:public class TestIOC {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"bean1.xml");
User user = (User) context.getBean("user");
System.out.println(user);
user.add();
}
}
P名称空间注入:
spring注入复杂数据:
上一篇: 香菜治发烧,这种说法是真的吗
下一篇: scala初始化hashmap