springIOC
来源:互联网 发布:unity3d 弧线运动 编辑:程序博客网 时间:2024/04/29 03:19
Spring的核心是IOC容器,其功能
1)创建并管理对象
2)实现对象的装配
引入Spring框架
1.添加spring-core.jar commons-logging.jar
2. 创建实体类Bean
3.使用applicationContext.xml将各种组件(Bean)纳入到Spring的管理中
(实例化对象在配置文件中进行配置,由spring框架完成 applicationContext.xml放在src目录下)
Spring容器创建Bean对象方法常见有3中
-用构造器
<bean id="empController" class="com.dsmkt.empController" >
-使用静态工厂方法
<bean id="cal" class="java.util.Calendar" factory-method=”getInstance” > (Calendar抽象类)
-使用实例工厂方法
Spring容器实例化
Spring容器有BeanFactory和applicationContext两种类型(BeanFactory基本不用)
applicationContext继承自BeanFactory拥有更多的企业及方法
ApplicationContext ac=newClassPathXmlApplicationContext("applicationContext.xml");
通过ac.getBean(“id标识符”);获得实例
对象装配
- 1set注入
<bean id="empService" class="com.dsmkt.empService" ></bean>
<bean id="empController" class="com.dsmkt.empController" >
<property name="empService" ref="empService"></property>
</bean>
-2构造器注入
<bean id="empController" class="com.dsmkt.empController" >
<constructor-arg >
<bean class="com.dsmkt.empService" ></bean>
</constructor-arg >
</bean>
注入原理
------------------------------------------------------
首先基于xml解析后
再基于反射
String className = "org.JdbcUserDao";
Class cls = Class.forName(className);
UserDao dao = (UserDao)cls.newInstance();
dao.save();
String serviceName= "org.UserService";
Class service_cls = Class.forName(serviceName);
UserService service =(Uservice)service_cls.newnstance();
Method setDao_method = service_cls.getMethode("setDao",UserDao.class);
setDao_method.invoke(service,dao);
-3自动装配
<bean id="empService" class="com.dsmkt.empService" ></bean>
<bean id="empController" class="com.dsmkt.empController" autowire=”byType”></bean>
基于注解的组件扫描
-------------------------------------------------------------------------
--使用组建扫描首先需要在xml中指定扫描类路径
<context:compponent-scan base-package="com.dsmkt"/>
@Component 通用 @Component("id")默认为小写开头类名
@Repository 持久化
@Service 业务层
@Controller 控制层
放在类上面
@Scope("prototype") 修改作用域默认为singleton
放在类上面
@PostConstruct //初始化调用方法
@PreDestory //销毁前调用方法
放在方法上面
指定依赖注入
@Resource
放在字段或者setter方法定义前面默认先按名称匹配注入,然后按类型匹配注入------装配调用set方法
@Autowired/@Qualifier
放在字段或者setter方法定义前面按类型匹配注入
@Inject/@Name
- springIoC
- springIoc
- SpringIOC
- springIOC
- springIOC
- springIOC
- SpringIOC
- SpringIOC
- SpringIOC
- springIOC
- springIOC
- SpringIoc
- springIOC
- SpringIOC
- SpringIOC
- springIOC
- SpringIOC
- SpringIoC
- 20160822ZABBIX微信告警设置总结
- ue文件格式设置(图文)
- IOS开发,在控制器或者其他View中使用xib文件
- 记录错误 8.22
- 基于Cookie和session,实现单点登录
- springIOC
- pycham 破解
- Beyond Compare是什么?
- 连接数据库方法类
- iOS静态库和动态库的区别
- java多线程-内置锁
- HDU 1394 Minimum Inversion Number【树状数组求逆序】
- 枚举实现单例模式分析理解
- DLL编写教程