您的位置:首页 > 编程语言 > Java开发

spring boot 基础学习 -- 入门项目

2018-01-15 21:34 295 查看
开发环境个人比较喜欢eclipse + maven,虽然大家都说idea好用,我试过,只能呵呵呵...

至于spring boot 是啥就不废话了,直奔主题!

首先当然是创建一个spring boot 工程了,这里介绍两种方式:

方式一:去官方网站自动生成:

打开spring boot官方生成页面:http://start.spring.io/


将生成下载的压缩包解压,导入到eclipse中,一个spring
boot 项目就初始化好了



生成的项目里面包含一个StartApplication.java算是spring boot 的 hello world 程序啦

package com.ssazb.springboot.start;

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

@SpringBootApplication
public class StartApplication {

public static void main(String[] args) {
SpringApplication.run(StartApplication.class, args);
System.out.println("你好!");
}
}一段很简单的代码,但是却包含很多东西
先来看一下这个注解 @SpringBootApplication
这提spring boot 提供的一个统一的注解,这个注解代替了早起版本的三个注解:

@Configuration,@EnableAutoConfiguration,@ComponentScan。

@configuration :
这是一个配置声明注解,意思就是带有这个注解的类就属于一个配置类,这样一来就可以不需要xml配置文件了,通常和他一起使用的还有@Bean注解 作用在一个返回一个实体类的方法上,用于发布bean到bean工厂中。

例如使用spring我们想把一个bean交给容器管理可以在xml中这样配置:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.ssazb.ssm.boot.dao" />
</bean>或者
4000
在你的类上使用spring提供的注解:@component/@service/@controller 等
在spring boot 中你只需要写一个配置类,提供一个get方法:@Configuration
public class DefaultConf {

@Bean
public TestBean getTestBean() {
return new TestBean();
}
}
public class TestBean {
{
System.out.println("test bean 初始化了....");
}
}
项目启动时spring boot 就会自己去扫描这些配置类中的方法,然后接管你的实体类,这样你就可以在其他类中注入这个类了!



@EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。

@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。

关于这三个注解的具体用法大家可以选择面向百度变成~

而新版本@SpringBootApplication 注解就包含了这三个注解的功能,是不,是不是方便了很多。

然后就是main方法了,main方法的第一行很关键:

SpringApplication.run(StartApplication.class, args);main方法时jvm启动的入口,而这一行代码就是spring boot 的启动入口,jvm 运行到这一行,就可以将spring boot 启动,然后 spring boot就开始了他的精彩表演~,一般你可以直接就这一行代码,spring
boot 就会按照默认配置运行,当然你也可以向下面那样定义一个SpringApplication,
public static void main(String[] args) {
// SpringApplication.run(StartApplication.class, args);
SpringApplication app = new SpringApplication();
// 这里开始定制你的app
app.run(args);
}
关于这里到底做了什么还不是很懂,下面这篇文章讲的很详细;有兴趣可以看看:

spring
boot源码分析之SpringApplication



OK,我们再来看看项目的初始化依赖:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>spring-boot-starter-test:是父工程,里面包含了Spring boot 的基本依赖,如果父工程里的依赖版本不符合你的要求,可以在父工程里面添加scope为provide,然后在自己的pom里面添加你想要的依赖即可,后面的两个依赖就没什么好说的了。

好吧,基本就是这么个情况,目前来说还是很简单的,只是个初步了解,下一篇准备进入web部分了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: