【框架系列02】使用Maven搭建Spring项目+ApplicationContext上下文中使用Set、Map、List

Spring + Maven





创建(关键字)

  • Group ID:包名(Package)
  • Artifact ID:项目名字(唯一标识)
  • 每一个包里面的项目的Artiface ID是唯一的;
  • Version:版本
  • Name:给人看的名字
  • – Finish




项目管理 pom.xml 文件

  • 什么是 Maven 中央仓库?

    地址:http://mvnrepository.com/

    作用:查询 mvn 依赖

    使用:

    • 进入网站
    • Search 搜索
    • 点进 搜索结果 - 版本
    • 依赖选择 maven
    • 复制依赖 粘贴到 pom.xml中的 <dependencies> </dependencies>中去
    • 示例:注入 Spring Framework:
    <dependencies>
      <!-- https://mvnrepository.com/artifact/org.springframework/spring -->
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring</artifactId>
          <version>5.3.2</version>
          <type>pom</type>
      </dependency>
    </dependencies>
    




Spring 注入

// ApplicationContext.xml
<beans>
    <bean id="person" name="human,star" class="com.…….Person">
        <constructor-arg name="name" value="maxiaosan"></constructor-arg>
        <constructor-arg name="age"  value="18"></constructor-arg>
        <constructor-arg name="food" ref="food"></constructor-arg>
    </bean>

    <bean id="food" class="com.…….Food"></bean>
    <alias name="person" alias="person2"/>
</beans>

<alias> 加一个名字 或者是别名。

应用场景:公共开发的时候,使用SVN上传下载的代码可能会被不同人更改,使用alias可以在不修改代码的情况下,完成代码的使用。




属性注入

  • 构造器的缺点:

    • 必须要有带参构造器以进行new

      • 什么是构造器?
      public calss T{
          private int a;
          public T(int a){
              this.a = a;
          }
          
          public T(){
              
          };
      }
      
    • 要有无参构造器以进行初始化赋值

    • 加一个参数就要多一个构造器




对象属性 Spring 来配置对象 set 方法

<property>标签


<bean id="person" name="human,star" class="……">
	<property name="name"><value>和树不困</value></property>
  	<property name="age" value="18"></property>
	<property name="food" ref="food"><value></value></property>
	<property></property>
	<property></property>

</bean>

p-namespace:

c-namespace:




Spring 中使用 ApplicationContext.xml 初始化对象

<bean id="person">
	<property name="name" value="hsk"></property>
	<property name="gift">
    	<value>
            douban=http://douban.com/movie/xx.html
            paoniu=100,
            dushu=200
        </value>
    </property>
</bean>
  • 优点:

    • 当地址改变的时候不用进入程序中去修改代码,只要修改xml文件就可以了;
  • 耦合

    • 强耦合:A 依赖于 B,B 变化直接影响 A ;
    • 弱耦合:A 依赖于 x.xml ,B 也依赖于 x.xml 文件,一旦 B 发生改变,则只要重新建一个 B 就可以了;

    MVC 中,M层 先写 接口再写实现,使用的时候使用 接口调用实现,以达到解耦合的目的;





上下文 ApplicationContext.xml 中使用 Set Map List

只有单一一个元素的用<array>标签,否则用<map> + <entrty> + key="",value=""(有两种方式)


<property name="list">
	<array>
    	<value>a</value>
        <value>b</value>
        <value>c</value>
    </array>
</property>

<property name="set">
	<array>
    	<value>a</value>
        <value>b</value>
        <value>c</value>
    </array>
</property>

<property name="map">
	<map>
    	<entrty key="a",value="1"></entrty>
        <entrty key="b",value="2"></entrty>
        <entrty key="c",value="c"></entrty>
    </map>
</property>

<property name="map">
	<props>
    	<prop key="a">1</prop>
        <prop key="b">2</prop>
        <prop key="c">3</prop>
    </props>
</property>




总结

  • 创建 Maven 项目
  • 使用 Maven 项目搭建 Spring 项目
  • 属性注入的集中方式
  • ApplicationContext.xml 文件中构造 Set Map List 的几种方式(谁是最特殊的?)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值