使用spring boot开发CRM列表

什么是spring boot?

Spring Boot是由Pivotal团队提供的全新框架,
其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

spring boot是为了简化spring应用开发的一门技术,它
一般是和我们的项目构建工具maven或者gradle一起使用。
它提供四大特性: 起步依懒、自动配置、运行監控、CLI

准备环境

  • 建spring boot项目: STS —> new ----> spring boot starter project

    项目结构:

      |src/main/java   //放Java代码文件
      |	---- Application.java ---启动类(main方法)
      |	----
      |src/main/resource   //放配置文件,静态资源,模板文件
      |	----static       放静态资源 html , css , js
      |	----templates    放模板文件 freemarker,thymeleaf
      |	----application.properties  配置文件
      src/main/test
      |
      |
      src/main/webapp
      |	----WEB-INF/jsp 放jsp
      |
      pom.xml
    

    编写一个Controller

    • 运行项目:java run —> spring boot run —> maven run --> package jar run

    • 运行原理分析

//@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
		//这个注解等价于@Configuration + @ComponentScan + @EnableAutoConfiguration
		
		@Configuration //代表这个是一个配置类
		
		@ComponentScan //开启组件扫描,扫描我的当前包路径
		
		@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) //开启自动配置
		public class SpringBootCrmApplication {

			public static void main(String[] args) {
				SpringApplication.run(SpringBootCrmApplication.class, args);
				//启动一个tomcat,布署了当前项目(localhost:8080/), 自动配置springmvc前端控制器,加载了spring容器,
				//并且吧SpringBootCrmApplication.class作为spring的配置文件初始化容器
			}
		}
		SpringApplication.run(SpringBootCrmApplication.class, args);
		//1、启动tomcat
		//2、布署当前项目
		//3、加载spring容器 SpringBootCrmApplication作为配置文件
		//4、配置springmvc DispatcherServlet
SpringBootCrmApplication作用
	* 作为spring boot的启动类
	* 作为spring容器配置文件

@SpringBootApplication注解等价于//这个注解==@Configuration + @ComponentScan + @EnableAutoConfiguration
该注解有三层意思:
1、代表这是一个配置类
2、开启包扫描
3、开启自动配置

添加jsp支持:(CRM页面准备)

添加依懒

<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<scope>provided</scope>
		</dependency>

配置前缀和后缀
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

创建webapp/WEB-INF/jsp 存放jsp
	
	* 拷PO
	
	* 实现案例
	
	* 准备前台页面
	
	* 编写Controller
	
	* 编写Service
	
	* 编写Dao (添加mybatis起步依懒,配置数据库连接信息,配置SqlSessionFactory)

添加mybatis起步依懒

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>

配置数据库连接信息

#配置连接信息:application.properties
mybatis.type-aliases-package=com.neo.entity
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = root

自动配置 Datasource和SqlSessionFactory

编写Mapper
添加MapperScan @MapperScan(“类路径”)

起步依赖和自动配置

一般情况下spring boot项目都是继承自框架,并且提供了一个统一的版本管理

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

自动配置:
@EnableAutoConfiguration 开启自动配置功能

核心注解盘点:

spring 4.0 提供新功能,条件化配置,条件配置
spring.factories文件里每一个xxxAutoConfiguration文件一般都会有下面的条件注解:

	@ConditionalOnBean:当容器里有指定Bean的条件下

	@ConditionalOnClass:当类路径下有指定类的条件下

	@ConditionalOnExpression:基于SpEL表达式作为判断条件

	@ConditionalOnJava:基于JV版本作为判断条件

	@ConditionalOnJndi:在JNDI存在的条件下差在指定的位置

	@ConditionalOnMissingBean:当容器里没有指定Bean的情况下

	@ConditionalOnMissingClass:当类路径下没有指定类的条件下

	@ConditionalOnNotWebApplication:当前项目不是Web项目的条件下

	@ConditionalOnProperty:指定的属性是否有指定的值

	@ConditionalOnResource:类路径是否有指定的值

	@ConditionalOnSingleCandidate:当指定Bean在容器中只有一个,或者虽然有多个但是指定首选Bean

	@ConditionalOnWebApplication:当前项目是Web项目的条件下。

上面@ConditionalOnXXX都是组合@Conditional元注解,使用了不同的条件Condition

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值