怎样使用Spring的配置文件?带大家一起玩转Spring配置文件(三)

简介: 怎样使用Spring的配置文件?带大家一起玩转Spring配置文件(三)

💦3、Bean的依赖注入数据类型

💨普通数据类型的注入

我用set方法的方式,讲解bean的依赖注入。继续在UserDaoImpl类中添加两个基本数据类型和它们的set方法


 

private String name;
    private Integer age;
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public void show() {
        System.out.println("名字是" + name + "的年龄是" + age);
    }


修改xml配置文件的bean,name的属性值代表着set方法的名,value的属性值表示你想要填入的属性值


<bean id="userDao" class="com.sht.dao.impl.UserDaoImpl">
        <property name="name" value="卷心菜"></property>
        <property name="age" value="20"></property>
</bean>


写一个测试类:


 

public void test7(){
        ApplicationContext context =
                new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDaoImpl contextBean = context.getBean(UserDaoImpl.class);
        contextBean.show();
    }


运行结果:

image.png


💨集合数据类型的注入

🔥List类型的注入

继续在UserDaoImpl类中改动代码:


 

private List<String> stringList;
    public void setStringList(List<String> stringList) {
        this.stringList = stringList;
    }
    public void showStringList() {
        System.out.println(stringList);
    }


修改xml配置文件,注入基本数据类型就是两个关键字<list>和<value>


<bean id="userDao" class="com.sht.dao.impl.UserDaoImpl">
       <property name="stringList">
          <list>
              <value>111</value>
              <value>222</value>
              <value>333</value>
          </list>
       </property>
  </bean>


运行结果:

image.png


🔥List类型的注入

先创建一个User类,有对应的get和set方法,还有toString方法,方便测试使用


public class User {
    private Integer id;
    private String username;
    private String password;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}


修改xml配置文件的bean,可以看出,与之前不同的是,<list>中用的是<ref>标签,这个标签表示的是注入引用数据类型


<bean id="user01" class="com.sht.domain.User">
        <property name="id" value="1"></property>
        <property name="username" value="卷心菜"></property>
        <property name="password" value="123456"></property>
 </bean>
    <bean id="user02" class="com.sht.domain.User"></bean>
    <bean id="userDao" class="com.sht.dao.impl.UserDaoImpl">
       <property name="userList">
           <list>
               <ref bean="user01"></ref>
               <ref bean="user02"></ref>
           </list>
       </property>
    </bean>


运行结果:

image.png


🔥Map<String,User> 类型的注入

继续在UserDaoImpl类中改动代码:


 

private Map<String, User> stringUserMap;
    public void setStringUserMap(Map<String, User> stringUserMap) {
        this.stringUserMap = stringUserMap;
    }
    public void showStringUserMap() {
        System.out.println(stringUserMap);
    }


修改xml配置文件,与之前不同的是,当使用的是map时,标签用的是<map>和标签<entry>,使用方法跟list标签差不多


 

<bean id="user01" class="com.sht.domain.User">
        <property name="id" value="1"></property>
        <property name="username" value="卷心菜"></property>
        <property name="password" value="123456"></property>
    </bean>
    <bean id="userDao" class="com.sht.dao.impl.UserDaoImpl">
        <property name="stringUserMap">
         <map>
             <entry key="key1" value-ref="user01"></entry>
         </map>
        </property>
    </bean>


运行结果:

image.png

需要注意的是,我们在选择key属性时,会有一个如图所示的key-ref的提示,这代表着我们要用的key是一个引入数据类型,因为我用的key是String,所以选择key

image.png

当使用value-ref时,也会出现value的值,其用法跟上面一样

image.png


🔥Properties类型的注入

继续在UserDaoImpl类中改动代码:


 

private Properties properties;
    public void setProperties(Properties properties) {
        this.properties = properties;
    }
    public void showProperties(){
        System.out.println(properties);
    }


修改xml配置文件,与之前的不同之处就是标签使用的是<props>和标签<prop>,使用的方法也是跟上面的方法类似


<bean id="userDao" class="com.sht.dao.impl.UserDaoImpl">
       <property name="properties">
           <props>
               <prop key="key01">value1</prop>
               <prop key="key02">value2</prop>
           </props>
       </property>
 </bean>


运行结果:

image.png


💦4、引入其他配置文件(分模块开发)

创建一个新的配置文件applicationContext1.xml,实际开发中,Spring的配置内容非常多,这就导致Spring配置很繁杂且体积很大,所以,可以将部分配置拆解到其他配置文件中,而在Spring主配置文件通过import标签进行加载


把applicationContext1.xml配置文件中的配置内容引入到applicationContext.xml的实现方式:


<import resource="applicationContext1.xml"></import>


📕总结

以上就是Spring配置文件的相关知识点,带大家来看看Spring的重点配置:

image.png

相关文章
|
2月前
|
Java Spring
Spring boot 运行服务jar外配置配置文件方式总结
Spring boot 运行服务jar外配置配置文件方式总结
401 0
|
20天前
|
Java Spring 传感器
AI 浪潮席卷,Spring 框架配置文件管理与环境感知,为软件稳定护航,你还在等什么?
【8月更文挑战第31天】在软件开发中,配置文件管理至关重要。Spring框架提供强大支持,便于应对不同环境需求,如电商项目的开发、测试与生产环境。它支持多种格式的配置文件(如properties和YAML),并能根据环境加载不同配置,如数据库连接信息。通过`@Profile`注解可指定特定环境下的配置生效,同时支持通过命令行参数或环境变量覆盖配置值,确保应用稳定性和可靠性。
34 0
|
1月前
|
XML Java 数据库连接
深入解析 Spring 配置文件:从基础到高级
【8月更文挑战第3天】Spring配置文件是构建与管理Spring应用的核心,它涵盖了从基础到高级的各种配置技巧。基础配置采用`.xml`格式定义Bean及其依赖;中级配置包括设置Bean作用域及引入属性文件;高级配置则涉及AOP、事务管理和与其他框架的整合。熟练掌握这些配置能帮助开发者构建出更为灵活且易维护的应用系统。
|
2月前
|
存储 安全 Java
Spring Boot中的配置文件加密
Spring Boot中的配置文件加密
|
3月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
40 1
|
2月前
|
Java Spring
解析Spring Boot中的配置文件与外部化配置
解析Spring Boot中的配置文件与外部化配置
|
2月前
|
存储 Java Spring
Spring Boot中的应用配置文件管理
Spring Boot中的应用配置文件管理
|
3月前
|
存储 Java Spring
Spring Boot中的应用配置文件管理
Spring Boot中的应用配置文件管理
|
3月前
|
Java 数据库连接 Spring
JDBC配置文件抽取-spring11
JDBC配置文件抽取-spring11
|
3月前
|
Java Spring
spring如何引入配置文件
spring如何引入配置文件