> 文章列表 > 初识Spring框架

初识Spring框架

初识Spring框架

文章目录

  • IOC (Inverse of Control 控制反转)
  • DI (Dependency Injection 依赖注入)
  • 入门案例 --- 组件、注册
    • 第一步、引入依赖
    • 第二步、编写配置文件 ---xml
      • 从官网查看 xml 格式 然后保存为模板
    • 注册组件 ---在配置文件 xml 文件中写的
    • 单元测试

IOC (Inverse of Control 控制反转)

控制:实例的生成反转:控制权的反转,实例生成权的反转 → 由应用程序反转给Spring容器:Spring容器、IOC容器,放的是实例,这些实例在Spring容器中通常以单例的形式管理起来 → 生成并管理实例的地方
class UserServlet extends HttpServlet{//应用程序直接获得实例UserService userService1 = new UserServiceImpl();//实例通过Spring来获得UserService userService2 = Spring.getInstance(UserService.class);
}

DI (Dependency Injection 依赖注入)

应用程序依赖于Spring容器,Spring容器中包含了应用程序运行所必须的资源(实例)Spring容器注入给应用程序(应用程序接收来自于Spring容器的资源)

入门案例 — 组件、注册

组件:Spring容器管理的实例叫组件注册:注册组件,Spring容器管理实例

第一步、引入依赖

Spring的依赖5+1spring-core\\context\\aop\\expression\\beans + jcl(日志包)junit (测试用)lombok  @Data(set get toString) 用到

初识Spring框架
初识Spring框架

第二步、编写配置文件 —xml

初识Spring框架

从官网查看 xml 格式 然后保存为模板

官网  https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#core.appendix.xsd-schemas-context

初识Spring框架
初识Spring框架
初识Spring框架

注册组件 —在配置文件 xml 文件中写的

<!--注册组件 → UserServiceImpl  (这个是我们编写的类名)  -->
<!--id属性:组件在Spring容器中唯一标识-->
<!--class属性:全限定类名 ctrl + alt + shift + c-->
<bean id="userService" class="com.tz_xuge.service.UserServiceImpl"/>

单元测试

初识Spring框架

    @Testpublic void test() {// 初始化 容器// 能够加载在classpath下的配置文件  configLocation  配置位置ApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");// 从容器中取出 组件(实例)  -> 用接口来接受 组件(实例)// 方法一  根据 idUserService userId = (UserService) applicationContext.getBean("UserId");// 方法二  根据 class  但是如果 有不同的类 继承同一个接口  则不能用  because 用接口来接受
//        UserService applicationContextBean = applicationContext.getBean(UserService.class);
//        applicationContextBean.sayHello();//方法三 根据 id 和 class
//        UserService applicationContextBean = applicationContext.getBean("UserId", UserService.class);
//        applicationContextBean.sayHello();// userId  就是类UserServiceImpl 的对象userId.sayHello();}