MENU

Spring

Spring Boot 与AOP

AOP(Aspect-oriented programming)译为面向切面编程,是的一种程序设计思想,它将横切关注点业务主体进行分离,以提高程序代码的模块化程度(解藕)。在现有代码基础上增加额外的Advice(通知)机制,对被声明为Pointcut(切点)的代码块进行统一管理;从核心关注点中分离出横切关注点是面向切面的程序设计的核心概念;像记录操作日志、记录执行时间、权限控制等功能,如果在代码实现上逐个方法去添加这些处理代码会造成代码冗余和代码入侵,也很难维护;而AOP就能很好的处理这些问题。

Read More

Spring Boot 之 Hello World

Spring boot 简化了基于 Spring 的应用开发,它为 Spring 以及第三方库提供了开箱即用的设置,减少了复杂配置;提供了内嵌服务器、健康监测等特性;我们可以使用java -jar来启动一个web应用。

本文将完成一个最简单的基于 spring boot 的 web 项目,通过这个项目来熟悉 spring boot 的项目结构;首先,需要安装jdk 1.7+、构建工具mavengradleintellij idea

$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: C:\Program Files\apache-maven-3.3.9
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_121\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"

创建项目

创建一个maven项目,编辑pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>tech.sheli.xjc</groupId>
    <artifactId>xjc-web-hello</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- 继承自Spring Boot的默认parent -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.4.RELEASE</version>
    </parent>

    <dependencies>
        <!-- 添加Web应用程序的典型依赖项 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <!-- 包作为可执行jar -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

以上就是个典型的pom.xml文件,继承了spring-boot-starter-parent,它包含了java版本(1.6)、项目编码(UTF-8)、测试框架、spring-boot-maven-plugin等,当然也可以不使用spring-boot-starter-parent,自己配置,具体配置会有单独的文章说明;设置spring-boot-starter-web依赖,也是唯一显示配置的依赖。

Read More