spring学习05:HelloSpring
-
思考问题:
-
Hello对象是谁创建的?
-
hello对象由Spring创建的;
Hello hello = (Hello) context.getBean("hello");
-
-
Hello对象的属性是怎么设置的?
-
hello对象的属性是由Spring容器(就是配置文件beans.xml)设置的;
-
-
重点:
-
这个过程就叫做控制反转;
-
控制:谁来控制对象的创建,传统的应用程序的对象是由程序本身控制创建的,使用Spring后,对象是由Sping来创建的;
-
反转:程序本身不创建对象,而变成了被动的接收对象;
-
依赖注入:就是利用set方法来进行注入的;
-
IOC是一种编程思想,由主动的编程变成被动的接收;
-
可以通过ClassPathXmlApplicationContext看一下底层源码;
-
OK,到了现在,我们彻底不用在程序中取改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的IOC,一句话搞定:对象由Spring来创建,管理,装配!
-
-
代码案例:beans.xml
-
代码案例:UserDaoMysqlImpl
public class UserDaoMysqlImpl implements UserDao {
public void getUser() {
System.out.println("mysql获取用户数据");
}
} -
代码案例:UserDaoOracleImpl
public class UserDaoOracleImpl implements UserDao {
public void getUser() {
System.out.println("oracle获取用户数据");
}
} -
代码案例:UserServiceImpl
public class UserServiceImpl implements UserService {
//方式1:直接new对象
//private UserDao userDao=new UserDaoOracleImpl();
//方式2:set方法进行动态实现值的注入!
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void getUser() {
userDao.getUser();
}
} -
代码案例:Test测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律