java 框架

DAY04-Sping01

2020-04-27  本文已影响0人  建国同学

一、Spring介绍

Spring在JavaEE开发中作用

image.png

Spring优势

Spring 能帮我们低侵入/低耦合地根据配置文件创建及组装对象之间的依赖关系。
Spring 面向切面编程能帮助我们无耦合的实现日志记录,性能统计,安全控制等。
Spring 能非常简单的且强大的声明式事务管理。
Spring 提供了与第三方数据访问框架(如Hibernate、JPA)无缝集成,且自己也提供了一套 JDBC 模板来方便数据库访问。
Spring 提供与第三方 Web(如 Struts1/2、JSF)框架无缝集成,且自己也提供了一套 Spring MVC 框架,来方便 Web 层搭建。
Spring 能方便的与如 Java Mail、任务调度、缓存框架等技术整合,降低开发难度。

二、 IoC和DI思想

IoC :Inversion of Control(控制反转)

不是什么技术,而是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由 IoC 容器来管理。(不需要自己手动创建对象,设置对象属性值)

IoC

DI:Dependency Injection:依赖注入

image.png

指IoC容器创建对象的过程中,将对象依赖属性(常量,对象)通过配置设值给该对象。
其类必须提供对应 setter 方法

三、 使用Spring IoC

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.0.8.RELEASE</version>
</dependency>
<!-- 
            配置数据库连接池对象才配置初始化与销毁化方法
            若发现类名是以FactoryBean 结尾,注意创建对象类型
            属性名必须对应是 setter 方法
 -->
<bean id="唯一性" class="类全限定名" [init-method="初始方法" destroy-method="销毁方法" scope="作用域,singleton:单例 (缺省),prototype:多例"] > 
      <property name="属性名" value="属性值" | ref="容器中另外一个bean的 id 值">
            ........
</bean>
底层利用全限定名进行反射创建对象,利用内省机制给属性赋值
  1. 添加依赖
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>5.0.8.RELEASE</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.0.8.RELEASE</version>
</dependency>
  1. 贴注解
    @RunWith(SpringJUnit4ClassRunner.class) //在测试方法之前启动容器
    @ContextConfiguration(" classpath:Spring配置文件") //指定加载的配置文件
    @Autowired //贴字段上字段类型就是从容器中获取的对象的类型
    @ContextConfiguration,则去测试类的路径找测试类名-context.xml 配置文件,如:PersonTest-context.xml。(路径需相同)


    image.png
上一篇下一篇

猜你喜欢

热点阅读