Hi!欢迎光临陕西省的权威思科、华为、Oracle、红帽、深信服、微软认证培训中心!
| 029-88235527
您现在所在位置:首页 > 新闻资讯 > 最新资讯 >

零基础学Java:Spring基础篇

发布日期:2020-03-12 17:10:53点击次数:

分享到:
零基础学Java:Spring基础篇

一、Spring 简史

1)石器时代
 
也就是 Spring 1.x 时代,一个项目看上去全都是 xml 文件,里面配置着各种各样的 bean,项目越大,xml 文件就越多,到最后人都感觉不好了,像回到了原始社会。
 
2)黑铁时代
 
也就是 Spring 2.x 时代,终于可以使用注解配置 bean 了,这主要得益于 JDK 1.5 新增的注解功能。想一想,一个小小的注解,比如说 @Component 、@Service 就可以替代一大段的 xml 配置代码,简直爽歪歪啊。
 
使用 xml 文件配置数据源,使用注解配置业务类,两种方式相得益彰。
 
3)黄金时代
 
也就是 Spring 3.x 至今,可以使用 Java 配置的方式了。那什么是 Java 配置呢?
 
其实从形式上看,Java 配置和注解配置没什么区别,因为 Java 配置也用的是注解,只不过,以前用 application-context.xml 配置数据源等信息,现在用 @Configuration 注解的类配置。
 
二、Spring 特性
 
1)核心技术:依赖注入(DI)、面向切面编程(AOP)、国际化、数据绑定、类型转换
 
2)测试:TestContext 框架、Spring MVC 测试
 
3)数据访问:事务、JDBC、对象关系映射(ORM)
 
4)Spring MVC(一个模型 - 视图 - 控制器「MVC」的 Web 框架)、Spring WebFlux(一个典型非阻塞异步的框架)
 
5)Spring Integration(面向企业应用集成)
 
三、Spring 生态
 
1)Spring Boot:当下最火的一个 Spring 项目了,使用它我们可以快速搭建好一个项目
 
2)Spring Cloud:为分布式开发提供了强大的工具集
 
3)Spring Security:通过认真和授权保护应用
 
4)Spring Web Flow:基于 Spring MVC 的流程式 Web 应用
 
5)等等等等
 
四、快速搭建 Spring 项目
 
我推荐使用 Intellij IDEA 作为集成开发工具,因为它插件丰富、功能全面。就我们目前的开发任务来说,社区版足够用了。
 
1)打开 IDEA,依次点击 File→New→Project→Maven。
 
2)点击 Next 后填写项目的名称,然后创建项目。打开 pom.xml 文件,添加以下内容。
 
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.2.RELEASE</version>
    </dependency>
</dependencies>
 
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
dependencies 节点下添加了 Spring 的核心依赖 spring-context,它为 Spring 提供了一个运行时的环境,用以保存各个对象的状态。它依赖于 Spring 的四个核心组件:spring-aop、spring-beans、spring-core、spring-expression,也就是说只要引入 spring-context 的依赖,Maven 会自动引入这四个核心。
 
build 节点下添加了 Maven 的编译插件,并且指定了 Java 的编译版本为 1.8。
 
3)IDEA 下编辑文件会自动保存,所以与此同时,Maven 会将 Spring 的依赖包全部下载到本地仓库中。
 
4)稍稍眯一会眼睛,就可以看到 Spring 的依赖包了。
 
5)Maven 是一个软件项目管理工具,基于项目对象模型(Project Object Model,明白 pom.xml 的由来了吧?)的概念,可以管理项目依赖的 jar 包,对项目进行编译打包等。
 
6)新建 HelloService 类,代码如下:
 
@Service
public class HelloService {
    public void hello (String what) {
        System.out.println("hello " + what);
    }
}
@Service 注解一般在业务逻辑层使用。该类非常简单,只有一个方法 hello(),参数是字符串,然后在控制台打印 hello xxx。
 
7)新建 HelloConfig 类,代码如下:
 
@Configuration
public class HelloConfig {
    @Bean
    public HelloService helloService() {
        return new HelloService();
    }
}
@Configuration 注解表明当前类是一个配置类,相当于 Spring 配置的一个 xml 文件。
 
@Bean 注解用在 helloService() 方法上,表明当前方法返回一个 Bean 对象(HelloService),然后将其交给 Spring 管理。产生这个 Bean 对象的方法只会被调用一次,随后 Spring  将其放在自己的 IOC 容器中。
 
8)新建 HelloMain 类,代码如下:
 
public class HelloMain {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(HelloConfig.class);
        HelloService helloService = context.getBean(HelloService.class);
        helloService.hello("66666");
        context.close();
    }
}
HelloMain 类中有一个 main() 方法,它负责将当前项目跑起来。
 
AnnotationConfigApplicationContext 是一个用来管理注解 Bean 的容器,可以将 @Configuration 注解的类 Class 作为参数获取容器对象。再通过 getBean() 方法获取注册的 Bean 对象。获取到 HelloService 对象后,就可以让它说一声“66666”了。