1. 通过无参构造方法来创建

1)User

pojo包

  1. public class User{
  2. private String name;
  3. public User(){
  4. System.out.println("User的无参构造");
  5. }
  6. public String getName() {
  7. return name;
  8. }
  9. public void setName(String name) {
  10. this.name = name;
  11. }
  12. public void show(){
  13. System.out.println("name = " + name);
  14. }
  15. }

2)beans.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. https://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <bean id="user" class="cn.edu.jxust.pojo.User">
  7. <property name="name" value="隔竹" />
  8. </bean>
  9. </beans>

3)MyTest

  1. import cn.edu.jxust.pojo.User;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. public class MyTest {
  5. public static void main(String[] args) {
  6. ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
  7. User user = (User) context.getBean("user");
  8. user.show();
  9. }
  10. }

image.png

2. 通过有参构造方法来创建

1)UserT

pojo包

  1. package cn.edu.jxust.pojo;
  2. public class UserT {
  3. private String name;
  4. public UserT(String name){
  5. this.name = name;
  6. }
  7. public String getName() {
  8. return name;
  9. }
  10. public void setName(String name) {
  11. this.name = name;
  12. }
  13. public void show(){
  14. System.out.println("name = " + name);
  15. }
  16. }

2)beans.xml

第一种:根据index参数下标设置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. https://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!-- 第一种方式根据index参数下标设置-->
  7. <!--
  8. <bean id="userT" class="cn.edu.jxust.pojo.UserT" >
  9. <constructor-arg index="0" value="隔竹" />
  10. </bean>
  11. -->
  12. </beans>

第二种:根据参数名字设置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. https://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!-- 第二种根据参数名字设置 -->
  7. <!--<bean id="userT" class="cn.edu.jxust.pojo.UserT" >
  8. <constructor-arg name="name" value="隔竹隔竹" />
  9. </bean>-->
  10. </beans>

第三种:根据参数类型设置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. https://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!-- 第三种根据参数类型设置 -->
  7. <bean id="userT" class="cn.edu.jxust.pojo.UserT">
  8. <constructor-arg type="java.lang.String" value="隔竹隔竹隔竹" />
  9. </bean>
  10. </beans>

3)输出结果

  1. import cn.edu.jxust.pojo.User;
  2. import cn.edu.jxust.pojo.UserT;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. public class MyTest {
  6. public static void main(String[] args) {
  7. ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
  8. UserT user = (UserT) context.getBean("userT");
  9. user.show();
  10. }
  11. }