在spring 中如果使用new创建一个对象时 这个对象将不在受spring管理器管理
来源:互联网 发布:java第三方登录 编辑:程序博客网 时间:2024/05/16 06:42
文章如标题具体如下
比如现在有一个service 层
package com.zyc.service.impl;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.zyc.dao.Data1Dao;import com.zyc.service.Data1;import com.zyc.util.DynamicDataSource;@Service("data1")public class Data1Impl implements Data1 {public Data1Dao data1Dao;@Resourcepublic void setData1Dao(Data1Dao data1Dao) {this.data1Dao = data1Dao;} public void deleteUser(String name) { data1Dao.deleteUser(name); //此处将会包空指针错误 if(5/0==5){ } }}
初始化容器
package com.zyc;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.zyc.service.Data1;import com.zyc.service.impl.Data1Impl;public class MainClass2 {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("spring-applicationContext.xml");//Data1 data1= (Data1) context.getBean("data1"); 此处注释获得对象通过下面new 的方式Data1 data1=new Data1Impl();data1.deleteUser("zhao");}}
要修改这种错误
第一种方式 通过spring 注入对象 及
Data1 data1=new Data1Impl();改为 Data1 data1= (Data1) context.getBean("data1"); 通过spring 注入对象的方式有很多种这里就不在列举只是随便说一种举列子第二种方式 通过静态变量及
public Data1Dao data1Dao;改为 @Resource("data1Dao")public static Data1Dao data1Dao;当然通过属性方法的哪个注入就不要了 如果还想用属性方法注入可以修改如下 @Resource public void setData1Dao(Data1Dao data1Dao) { Data1Impl.data1Dao = data1Dao; }
spring配置文件夹这里就不在说。
0 0
- 在spring 中如果使用new创建一个对象时 这个对象将不在受spring管理器管理
- 在struts2中使用spring对象工厂
- JBPM3中在AssignmentHandler中注入spring管理对象
- 获取Spring中bean对象或在Spring初始化完成之后使用Spring中bean对象
- 在Spring应用中创建全局获取ApplicationContext对象
- 在Spring应用中创建全局获取ApplicationContext对象
- 在Spring应用中创建全局获取ApplicationContext对象
- Spring-------使用Spring创建对象
- new出来的service对象和你在spring中注入的service对象不是同一个对象
- 如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉
- Spring 注解 new创建对象后失效
- 在servlet中获取spring Bean对象
- 如何在spring中获取request对象
- 如何在spring中获取request对象
- spring在构造函数中注入对象
- 如何在spring中获取request对象
- 如何在Spring中取得Request对象
- 如何在spring中获取request对象
- go 语言 TCP服务器接受客户端字符串信息
- Pycharm的运行和简单调试
- 每天一个 Linux 命令(23):Linux 目录结构
- Delphi日期函数大全
- go语言 mysql操作
- 在spring 中如果使用new创建一个对象时 这个对象将不在受spring管理器管理
- error: stray '\200' in program
- ZCMU-1169-数字游戏
- 关于Eclipse indigo版本安装SVN版本控制插件
- LINQ体验(13)——LINQ to SQL语句之运算符转换和ADO.NET与LINQ to SQL
- 面试总结(四)
- 配置globus主节点
- 【LeetCode】 442. Find All Duplicates in an Array
- Oracle数据库之创建和管理表