- 1.Spring
- 2.IOC理论推导
- IOC本质
- 3.HelloSpring
优点:
- Spring是一个开源的免费的框架(容器)
- Spring是一个轻量级的、非入侵式的框架
- 控制反转(IOC)、面向切面编程(AOP)
- 支持事物的处理,对框架整合的支持
Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架
官网:https://spring.io/projects/spring-framework#learn
GitHub:https://github.com/spring-projects/spring-framework
2.IOC理论推导//与Mybatis整合 org.springframework spring-webmvc5.3.12 org.springframework spring-jdbc5.3.12
- UserDao
- UserDaoImpl
- UserDaoMysqlImpl
- UserDaoOracleImpl
- UserService
- UserServiceImpl
使用set接口实现,使其发生巨变
private UserDao userDao; //利用set进行动态实现值的注入 public void setUserDao(UserDao userDao) { this.userDao = userDao;
- 之前是主动创建对象,控制权在程序员手上
- 使用set后,是被动接收对象
**控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,**也有人认为DI只是loC的另一种说法。没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。
控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是loC容器,其实现方法是依赖注入(Dependency Injection,Dl)。
3.HelloSpringHello.java
public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } @Override public String toString() { return "Hello{" + "str='" + str + ''' + '}'; } }
applicationContext.xml配置
测试MyTest.java
import net.cqwu.pojo.Hello; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest { public static void main(String[] args) { //context:获取spring的上下文对象 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); //我们的对象现在都在spring中管理了,我们要使用,直接去里面取出来就可以 Hello hello = (Hello) context.getBean("hello"); System.out.println(hello.toString()); } }
输出: Hello{str='Hello Spring'}
感谢狂神教学
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)