spring 注入的是类还是接口
2个回答
2016-11-28 · 百度知道合伙人官方认证企业
尚学堂科技有限公司
北京尚学堂科技有限公司是一家从事JAVA、大数据、web前端、网络在线教育、互联网架构师、Android、ios技术开发、咨询为一体的软件公司。公司由海外留学人员和国内IT人士创建。
向TA提问
关注
展开全部
我举个小例子哈,User是个普通的实体类,没有接口,把他注入,也是可以的啊。。。。
<bean id="st" class="com.mytest.SpringTest">
<property name="user">
<ref bean="user" />
</property>
</bean>
<bean id="user" class="com.mytest.domain.User"/>
public class SpringTest {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
SpringTest st=(SpringTest)context.getBean("st");
st.getUser();
}
}
spring注入,说白了就是用配置文件来管理类的实例化和它们间的关联,这跟我们在项目中使用接口的目的都是殊途同归的:减小代码耦合度。
还是2个比较重要吧:
1.接口是一种规范,例如:多人参与项目,之间肯定会有 方法互调。首先把接口定义好了,人家根本不关心你如何去实现,只要得到他想要的结果,这难道不就是Java一直提倡的思想吗。
2.还有一种思想,我觉得随便什么东西,能够放入配置文件去管理的尽量放到配置文件管理, 因为真实项目严谨的话,假如你在java代码里面直接new(注:一个项目修改java代码都是很危险的操作,尤其是经过测试人员数次的测试,还有你修改源代码就必须重新打版本,我不知道你们的项目版本是如何管理的),是不是需要重新编译一次?然后更新至服务器,还是你把它放入配置的文件的话。
<bean id="st" class="com.mytest.SpringTest">
<property name="user">
<ref bean="user" />
</property>
</bean>
<bean id="user" class="com.mytest.domain.User"/>
public class SpringTest {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
SpringTest st=(SpringTest)context.getBean("st");
st.getUser();
}
}
spring注入,说白了就是用配置文件来管理类的实例化和它们间的关联,这跟我们在项目中使用接口的目的都是殊途同归的:减小代码耦合度。
还是2个比较重要吧:
1.接口是一种规范,例如:多人参与项目,之间肯定会有 方法互调。首先把接口定义好了,人家根本不关心你如何去实现,只要得到他想要的结果,这难道不就是Java一直提倡的思想吗。
2.还有一种思想,我觉得随便什么东西,能够放入配置文件去管理的尽量放到配置文件管理, 因为真实项目严谨的话,假如你在java代码里面直接new(注:一个项目修改java代码都是很危险的操作,尤其是经过测试人员数次的测试,还有你修改源代码就必须重新打版本,我不知道你们的项目版本是如何管理的),是不是需要重新编译一次?然后更新至服务器,还是你把它放入配置的文件的话。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询