springBoot(一)简介与入门

最近也是看到了微框架的不断提及,然后总结一下那时候的知识点。


关于springBoot与它"干爹"



既然谈起了springBoot,就不得不提起它的干爹:spring,我们都知道,spring经典的依赖注入(DI)与面向切面(AOP)成功实现了EJB的功能,它的组件是相为轻量级的,但是另一方面,不得不提及恐怖的配置,便利性与繁琐的切换配置匹配时代,我是没有经历过了,直接是有注解支持的入门。

那么这里主要将其发展阶段分为3个阶段吧。

1、xml配置(spring1.x)

在Spring 1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时需要频繁的在开发的类和

配置文件之间进行切换


2、注解配置(spring2.x)

在Spring 2.x 时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(例如@Controller、@Service),大大减少了配置量。主要使用的方式是应
用的基本配置(如数据库配置)用xml,业务配置用注解

3、java配置(spring3.x)

Spring 3.0 引入了基于 Java 的配置能力,这是一种类型安全的可重构配置方式,可以代替 XML。我们目前刚好处于这个时代。现在Spring和Springboot都推荐使用java配置。



spring boot来了,让2个时代得事情变得简单——微框架


Spring Boot其设计目的是用来简化Spring应用的初始搭建以及开发采用约定优于配置,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数Spring Boot应用只需要很少的Spring配置。

我们可以使用SpringBoot创建java应用,并使用java –jar 启动它,或者采用传统的war部署方式。



其主要特点(六点):

  • l  创建独立的Spring应用程序
  • l  嵌入的Tomcat,无需部署WAR文件
  • l  简化Maven配置
  • l  自动配置Spring
  • l  提供生产就绪型功能,如指标,健康检查和外部配置
  • l  绝对没有代码生成和对XML没有要求配置


跑起来,我的Hellword


环境准备

DataBase:MySQL

IDE:Eclipse

SpringBoot:1.5.6 (官方网站:http://spring.io/) 2017年7月27

SpringBoot参考文档:

http://docs.spring.io/spring-boot/docs/1.5.6.RELEASE/reference/htmlsingle/

Maven:3.3.9 (官方声明Springboot1.5.6版本需要Maven 3.2+)

Gradle:4.0.2 (官方网站https://gradle.org/)


工程走起

创建的maven,类型为jar的。记得他爹是spring-boot-sta*



pom.xml依赖


maven.org也有,还是贴出来吧

<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>
	<!-- 配置父级工程 -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.6.RELEASE</version>
	</parent>
	<groupId>cn.itcast</groupId>
	<artifactId>springboot01-test</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- 配置依赖关系 -->
	<dependencies>
		<!-- 配置WEB启动器 SpringMVC、Restful、jackson -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>
</project>

然后等待下载包吧。


如果修改jdk版本
可以点进去

然后看到这些没有,跟住模版修改


<!-- 定义全局属性 -->
<properties>
<!-- 定义更改JDK版本属性 -->
<java.version>1.7</java.version>
</properties>
加上去,刷新更新maven项目,OK



启动类

显然是用于启动spring-boot的类
@SpringBootApplication // 代表为SpringBoot应用的运行主类
public class Application {
   public static void main(String[] args) {
      /** 运行SpringBoot应用 */
      SpringApplication.run(Application.class, args);
   }
}

Spring-boot会根据启动类所在的包去扫描包下的东西,比如后面的入门程序

相关注释解析:
l  @SpringBootApplication:代表为SpringBoot应用的运行主类
@SpringBootApplication( // SpringBoot应用启动类      scanBasePackages={"com.linge.springboot"})// 指定扫描的基础包
l  @Configuration: 用于定义一个配置类
l  @EnableAutoConfiguration :Spring Boot会自动根据你jar 包的依赖来自动配置项目
l  @ComponentScan: 告诉Spring 哪个packages 的用注解标识的类会被spring自动扫描并且装入bean 容器。

测试启动类



出现这个东西的时候,就说明,你已经启动成功了,兴许你不喜欢这个打印东西,那么我们就干掉他

启动类(不带spring广告)

@SpringBootApplication // 代表为SpringBoot应用的运行主类
public class Application {
  
   public static void main(String[] args) {
      /** 创建SpringApplication应用对象 */
      SpringApplication springApplication =
new SpringApplication(Application.class);
      /** 设置横幅模式(设置关闭) */
      springApplication.setBannerMode(Banner.Mode.OFF);
      /** 运行 */
      springApplication.run(args);
   }
}


入门程序(HelloWord)

不用说:需求肯定是输出一个helloword,不过是 使用Spring MVC实现Hello World输出


应该都玩过SpringMVC吧

原来的玩法

需要在web.xml 中添加一个DispatcherServlet 的配置,还需要添加一个spring的配置文件,配置文件如下配置
spring加入配置
<!-- controller注解扫描 -->
<context:component-scan base-package="com.linge.springboot.controller" />
<!-- 注解驱动 -->
<mvc:annotation-driven />

web.xml
<!-- 配置前端控制器 -->
<servlet>
<servlet-name> springboot01-test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name> springboot01-test</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

然后继续编写Controller吧


spring-boot玩法

//我们不需要配置文件,直接编写Controller类即可
@RestController
public class HelloController {
   // http://localhost:8080/hello
   @GetMapping("/hello")
   public String hello(){
      return "Hello World";
   }
}


@RestController注解:其实就是@Controller和@ResponseBody注解加在一起,然后返回值是Json格式的,你懂得,responsebody嘛。

启动方式一:
启动编写的引导类即可,也就是启动类,看你喜欢有码还是无码咯。

启动方式二:
使用Maven命令spring-boot:run执行即可
选择 Maven Build spring-boot:run 如果开心可以加上-X,看详细信息




然后输入刚刚的网站url,搞定!!!



热部署

如果想热部署,差点忘记,嗯
Pom.xml自己加上,不谢
<!-- 配置devtools开启热部署 -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
</dependency>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值