高效搭建Spring,技术之常见注脚

高效搭建Spring,技术之常见注脚

Spring
Boot是Spring推出的四个轻量化Web框架,主要消除了Spring对于Mini项目受到诟病的配备和支出速度难点。

Spring
boot是Spring推出的一个轻量化web框架,首要化解了Spring对于Mini项目面对非议的配备和支付进程难题。

Spring最起先是为着缓和EJB等大型公司框架对应用程序的侵入性,因而多量借助配置文件来“非侵入式”得给POJO扩大效果,可是,从Spring
3.x早先,Spring被外边最为诟病的一点正是安顿精彩纷呈,堪当“配置鬼世界”,种种xml文件,出了难点11分难排查。从Spring
肆.x初叶,Spring.io提供了三种艺术编织Bean:

Spring Boot 包蕴的天性如下:

Spring Boot 包涵的特征如下:

利用注脚:隐式配置,譬喻:@Autowired、@Bean、@Component等,通过表明来简化xml文件。
选取Java文件:展现配置,比xml配置的优势是负有类型安全
应用守旧的xml配置文件
注解(annotations)列表

创办能够单独运作的 Spring 应用。
直白嵌入 汤姆cat 或 Jetty 服务器,不要求布置 WA牧马人 文件。
提供推荐的根基 POM 文件来简化 Apache Maven 配置。
尽心竭力的依据项目正视来机关配置 Spring 框架。
提供能够直接在生产条件中央银行使的功能,如品质目标、应用消息和采纳健检。
不曾代码生成,也未曾 XML 配置文件。

创办能够独自运行的 Spring 应用。
一直嵌入 汤姆cat 或 Jetty 服务器,不须要配置 WA卡宴 文件。
提供推荐的基础 POM 文件来简化 Apache Maven 配置。
尽量的依赖项目注重来机关配置 Spring 框架。
提供能够直接在生养条件中采纳的功力,如品质目的、应用新闻和应用健检。
从不代码生成,也平素不 XML 配置文件。

@ResponseBody
用该表明修饰的函数,会将结果直接填充到HTTP的响应体中,一般用来营造RESTful的api;
@Controller
用于定义调控器类,在spring
项目中由调节器担任将用户发来的URAV4L请求转载到相应的劳动接口(service层)。
@RestController
@ResponseBody和@Controller的合集
@RequestMapping
提供路由消息,担负UCRUISERL到Controller中的具体函数的投射。
@EnableAutoConfiguration
Spring
Boot自动配置(auto-configuration):尝试遵照你加多的jar重视自动配置你的Spring应用。比如,假设你的classpath下存在HSQLDB,并且你未曾手动配置任何数据库连接beans,那么我们将自行配置2个内部存款和储蓄器型(in-memory)数据库”。你可以将@EnableAutoConfiguration恐怕@SpringBootApplication注明增添到三个@Configuration类上来接纳自动配置。即使发掘接纳了你不想要的特定自动配置类,你能够利用@EnableAutoConfiguration注明的排除属性来禁止使用它们。例子代码如下:
@ComponentScan
代表将此类活动开掘(扫描)并登记为Bean,可以自动搜集全部的Spring组件,包蕴@Configuration类。大家平时选拔@ComponentScan声明找寻beans,并整合@Autowired注明导入。
@Configuration
一定于守旧的xml配置文件,假诺稍微第2方库须要利用xml文件,提出依旧通过@Configuration类作为项目标配备主类——能够行使@ImportResource注明加载xml配置文件。
@SpringBootApplication
相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
@Import
用来导入其余配置类。
@ImportResource
用来加载xml配置文件。
@Autowired
自动导入重视的bean
@Service
貌似用来修饰service层的零件
@Repository
利用@Repository注脚能够确认保障DAO也许repositories提供充足转译,这一个申明修饰的DAO大概repositories类会被ComponetScan开掘并布署,同有的时候间也无需为它们提供XML配置项。

****第一个SpringBoot应用:****

****第一个SpringBoot应用:****

1.构建maven项目
IDEA:

1.构建maven项目
IDEA:

Create New Project -> Maven -> 选择JDK ->
GroupId : com.example, ArtifactId: springBootDemo -> Project name :
springBootDemo

Create New Project -> Maven -> 选择JDK ->
GroupId : com.example, ArtifactId: springBootDemo -> Project name :
springBootDemo

2.编制pom.xml

2.编制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>com.example</groupId>
    <artifactId>springBootDemo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- Inherit defaults from Spring Boot -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.3.RELEASE</version>
    </parent>

    <!-- Add typical dependencies for a web application -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <!-- Package as an executable jar -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
<?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>com.example</groupId>
    <artifactId>springBootDemo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- Inherit defaults from Spring Boot -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.3.RELEASE</version>
    </parent>

    <!-- Add typical dependencies for a web application -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <!-- Package as an executable jar -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

3.编制Application.java存于myFirstProject\src\main\java\com\example下

应用父pom尽管简易,可是有些情况我们早已有父pom,不能够向来扩大

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
<dependencyManagement>
     <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.4.3.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

4.编制Example.java存于myFirstProject\src\main\java\com\example\web下

3.编制Application.java存于myFirstProject\src\main\java\com\example下

package com.example.web;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    @RequestMapping("/hello/{myName}")
    String index(@PathVariable String myName) {
        return "Hello " + myName;
    }
}
package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

5.运行
在Application.java文件上(或文件中) 采取Run ‘Application ‘
如下图:

4.编制Example.java存于myFirstProject\src\main\java\com\example\web下

图片 1

package com.example.web;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    @RequestMapping("/hello/{myName}")
    String index(@PathVariable String myName) {
        return "Hello " + myName;
    }
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图