SSM框架-Spring

  1. Spring程序开发步骤

    1. 导入Spring开发的基本包坐标
    2. 创建Bean
    3. 创建Spring 核心配置文件ApplicationContext.xml
    4. 在Spring配置文件中配置Bean
    5. 创建ApplicationContext获取Bean的实例
  2. Bean标签范围

    • 当scope为singleton时
      • 实例化个数:1个
      • 实例化时机:当ApplicationContext.xml被加载时
      • bean的生命周期:
        • 对象创建:当应用加载,创建容器时,就已经创建了
        • 对象运行:只要容器在,就一直存在
        • 对象销毁:当应用卸载,销毁容器时,对象就被销毁了
    • 当scope为prototype时
      • 实例化个数:多个
      • 实例化时机:当调用getBean()方法时实例化
      • bean的生命周期:
        • 对象创建:当使用对象时
        • 对象运行:只要对象在使用中,就一直活着
        • 对象销毁:当对象长时间不用,被Java的GC回收了
  3. Bean实例化的方式

    • 使用无参构造方法
      <bean id="userDao" class="com.cc.dao.imp.UserDaoImp"></bean>
    • 工厂静态方法实例化
      image
      <bean id="userDao" class="com.cc.factory.StaticFactoryBean" factory-method="getUserDao"></bean>
    • 工厂实例化方法实例化
      image
      <bean id="factoryBean" class="com.cc.factory.DynamicFactoryBean"></bean>
      <bean id="userDao" factory-bean="factoryBean" factory-method="getUserDao"></bean>
  4. Bean的依赖注入

    • set注入
      image
      image

    • 构造方法注入
      image
      image

  5. Bean的依赖注入属性

      1. 普通数据类型的注入
      1. 集合数据类型(List)的注入
      1. 集合数据类型(List)的注入
      1. 集合数据类型( Map<String,User> )的注入
      1. 集合数据类型(Properties)的注入
      点击查看具体注入格式
      <bean id="w1" class="com.cc.pojo.Wife">
      		<property name="name" value="小泽"></property>
      		<property name="age" value="18"></property>
      	</bean>
      	<bean id="w2" class="com.cc.pojo.Wife">
      		<property name="name" value="小仓"></property>
      		<property name="age" value="18"></property>
      	</bean>
      	<bean id="user" class="com.cc.pojo.User">
      		<property name="name" value="老刘"></property>
      		<property name="age" value="23"></property>
      		<property name="job">
      			<list>
      				<value>程序员</value>
      				<value>妇女之友</value>
      			</list>
      		</property>
      		<property name="wife">
      			<list>
      				<bean class="com.cc.pojo.Wife"></bean>
      				<ref bean="w1"></ref>
      			</list>
      		</property>
      		<property name="userMap">
      			<map>
      				<entry key="wife1" value-ref="w1"></entry>
      				<entry key="wife2" value-ref="w2"></entry>
      			</map>
      		</property>
      	</bean>
      
  6. Spring注解

    • @Component 使用在类上用于实例化Bean
    • @Controller 使用在web层类上用于实例化Bean
    • @Service 使用在service层类上用于实例化Bean
    • @Repository 使用在dao层类上用于实例化Bean
    • @Autowired 使用在字段上用于根据类型依赖注入
    • @Qualifier 结合@Autowired一起使用用于根据名称进行依赖注入
    • @Resource 相当于@Autowired+@Qualifier,按照名称进行注入
    • @Value 注入普通属性
    • @Scope 标注Bean的作用范围
    • @PostConstruct 使用在方法上标注该方法是Bean的初始化方法
    • @PreDestroy 使用在方法上标注该方法是Bean的销毁方法
    • @Configuration 用于指定当前类是一个 Spring 配置类,当创建容器时会从该类上加载注解
    • @ComponentScan 用于指定 Spring 在初始化容器时要扫描的包。作用和在 Spring 的 xml 配置文件中的<context:component-scan base-package="com.cc"/>一样
    • @Bean 使用在方法上,标注将该方法的返回值存储到 Spring 容器中
    • @PropertySource 用于加载.properties 文件中的配置
    • @Import 用于导入其他配置类
posted @ 2022-02-16 18:32  她与代码皆失  阅读(57)  评论(0)    收藏  举报