SpringIOC 容器

超、凢脫俗 2022-02-20 15:55 429阅读 0赞

spring是可以解决对象创建以及对象之间依赖关系的一种框架。

通过添加模块,添加不同功能

  1. Spring Core spring的核心功能: IOC容器, 解决对象创建及依赖关系
  2. Spring Web Spring对web模块的支持。(struts,spring mvc)
  3. Spring DAO Spring 对jdbc操作的支持 【JdbcTemplate模板工具类】
  4. Spring ORM spring对orm的支持(hibernate)
  5. Spring AOP 切面编程
  6. SpringEE spring 对javaEE其他模块的支持

xml 添加bean并赋值

  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. xmlns:p="http://www.springframework.org/schema/p"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xsi:schemaLocation="
  7. http://www.springframework.org/schema/beans
  8. http://www.springframework.org/schema/beans/spring-beans.xsd
  9. http://www.springframework.org/schema/context
  10. http://www.springframework.org/schema/context/spring-context.xsd">
  11. <!-- ###############对象属性赋值############### -->
  12. <!--
  13. 给对象属性注入值:
  14. # p 名称空间给对象的属性注入值
  15. (spring3.0以上版本才支持)
  16. -->
  17. <bean id="userDao" class="cn.itmayiedu.UserDao"></bean>
  18. <bean id="userService" class="cn.itmayiedu.UserService" p:userDao-ref="userDao"></bean>
  19. <bean id="userAction" class="cn.itmayiedu.UserAction" p:userService-ref="userService"></bean>
  20. <!-- 传统的注入:
  21. <bean id="user" class="cn.itmayiedu.User" >
  22. <property name="name" value="xxx"></property>
  23. </bean>
  24. -->
  25. <!-- p名称空间优化后 -->
  26. <bean id="user" class="cn.itmayiedu.User" p:name="Jack0001"></bean>
  27. </beans>

注解版本:

  1. @Component 指定把一个对象加入IOC容器
  2. @Repository 作用同@Component 在持久层使用
  3. @Service 作用同@Component 在业务逻辑层使用
  4. @Controller 作用同@Component 在控制层使用
  5. @Resource @Autowired 属性注入(定义bean之间的依赖关系)

1、允许baseDao注入为null(required = false),找到名为bossDao注入过来

  1. @Autowired(required=false) @Qualifier("bossDao")
  2. private BaseDao baseDao;

2、找到名为beeDao注入过来

  1. @Resource(name="beeDao")
  2. private BaseDao baseDao;

3、注入一个名为user的bean。当scope设置为prototype的时为非单例

spring ioc默认是单例模式

  1. @Component(value="user")
  2. //@Scope(value="prototype") //创建多实例
  3. public class User {
  4. }

发表评论

表情:
评论列表 (有 0 条评论,429人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringIOC容器

    1.什么是IOC IOC(Inversion of Control):其思想翻转资源获取的方向,传统的资源查找方法要求组件向容器发起请求查找资源,作为回应,容器适时

    相关 一步一步实现SpringIoc容器

    IoC(Inverse of Controll控制反转):指的是对象的创建方式进行了反转,传统的开发方式是程序员自己 new 对象,IoC就是将这一过程进行了反转,程序员不需要

    相关 SpringIOC 容器

    spring是可以解决对象创建以及对象之间依赖关系的一种框架。   通过添加模块,添加不同功能 1. Spring Core  spring的核心功能: IOC容器