springboot-day01

JAVA学习网 2017-12-19 07:32:02

1. 今日大纲

1、 了解Spring的发展

2、 掌握Springjava配置方式

3、 学习Spring Boot

4、 使用Spring Boot完成CRUD

2. Spring的发展

2.1. Spring1.x 时代

Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换。

2.2. Spring2.x时代

随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发。

 

那么,在实际生产中,究竟是应该使用xml还是注解呢?

 

最佳实践:

1、 应用的基本配置用xml,比如:数据源、资源文件、服务器的链接配置等;

2、 业务开发用注解,比如:Service中注入bean、controller中注入bean等;

2.3. Spring3.xSpring4.x

Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean,现在我们就处于这个时代,并且Spring4.xSpring boot都推荐使用java配置的方式。

3. SpringJava配置方式

Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。

3.1. @Configuration @Bean

SpringJava配置方式是通过 @Configuration @Bean 这两个注解实现的:

1@Configuration 作用于类上,相当于一个xml配置文件;

2@Bean 作用于方法上,相当于xml配置中的<bean>

3.2. 案例

案例演示了通过Java配置的方式进行配置Spring,并且实现了Spring IOC功能。

 

3.2.1.基于intellij idea创建web maven项目

  创建过程略,创建完成后的项目结构如下图

3.2.2. 导入依赖

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5 
 6     <groupId>com.example</groupId>
 7     <artifactId>demo2</artifactId>
 8     <version>0.0.1-SNAPSHOT</version>
 9     <packaging>jar</packaging>
10 
11     <name>demo2</name>
12     <description>Demo project for Spring Boot</description>
13 
14     <parent>
15         <groupId>org.springframework.boot</groupId>
16         <artifactId>spring-boot-starter-parent</artifactId>
17         <version>1.5.9.RELEASE</version>
18         <relativePath/> <!-- lookup parent from repository -->
19     </parent>
20 
21     <properties>
22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24         <java.version>1.7</java.version>
25     </properties>
26 
27     <dependencies>
28         <!-- web支持: 1、web mvc; 2、restful; 3、jackjson支持; 4、aop ........ -->
29         <dependency>
30             <groupId>org.springframework.boot</groupId>
31             <artifactId>spring-boot-starter-web</artifactId>
32         </dependency>
33 
34         <dependency>
35             <groupId>org.springframework.boot</groupId>
36             <artifactId>spring-boot-starter-test</artifactId>
37             <scope>test</scope>
38         </dependency>
39         <dependency>
40             <groupId>org.springframework.boot</groupId>
41             <artifactId>spring-boot-starter-thymeleaf</artifactId>
42         </dependency>
43         <!-- servlet 依赖. -->
44         <dependency>
45             <groupId>javax.servlet</groupId>
46             <artifactId>javax.servlet-api</artifactId>
47             <!--<scope>provided</scope>-->
48         </dependency>
49         <!--
50             JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。
51             不然报异常信息:
52             javax.servlet.ServletException: Circular view path [/helloJsp]: would dispatch back to the current handler URL [/helloJsp] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
53          -->
54         <dependency>
55             <groupId>javax.servlet</groupId>
56             <artifactId>jstl</artifactId>
57         </dependency>
58         <!-- tomcat 的支持.-->
59         <dependency>
60             <groupId>org.springframework.boot</groupId>
61             <artifactId>spring-boot-starter-tomcat</artifactId>
62         <!--    <scope>provided</scope>-->
63         </dependency>
64         <dependency>
65             <groupId>org.apache.tomcat.embed</groupId>
66             <artifactId>tomcat-embed-jasper</artifactId>
67             <scope>provided</scope>
68         </dependency>
69     </dependencies>
70 
71     <build>
72         <plugins>
73             <plugin>
74                 <groupId>org.springframework.boot</groupId>
75                 <artifactId>spring-boot-maven-plugin</artifactId>
76             </plugin>
77             <plugin>
78 
79                 <artifactId>maven-compiler-plugin</artifactId>
80 
81                 <configuration>
82 
83                     <source>1.7</source>
84 
85                     <target>1.7</target>
86 
87                 </configuration>
88 
89             </plugin>
90         </plugins>
91     </build>
92 
93 
94 </project>
pom.xml

 

阅读(740) 评论(0)