SpringBoot第二章

本文详细介绍了SpringBoot的环境搭建,包括JDK1.8安装与配置、maven的使用及配置,深入解析了IoC、Bean容器、注解、AOP等Spring核心概念。同时,还介绍了SpringBoot中常用的注解及其应用场景。

SpringBoot 第二章

一、JDK 1.8 的安装

  1. 官网下载最新版本的 JDK。
//  JDK 是开发环境,JRE是运行环境。
// 1、内置的 JRE 
JDK 安装目录下有默认的 JRE
// 2、外置的 JRE
JDK 同级目录下的 JRE ,可以不安装。
公共的 JRE 会向IE浏览器和系统中注册Java运行环境,通过这种方式,系统中的任何程序都可以使用公共JRE。
// 3、如果没有安装公共的 JRE ,系统在运行的时候会报出,不能够找到对应的 JRE ,需要用户自己将 JDK 内的 JRE 目录配置到环境变量中才能直接使用。
// 4、两种都安装时最好不过的了,既可以开发,也可以运行。
  1. 安装,安装 JDK 中内置的 JRE 以及外置的JRE。
  2. 环境配置,作者喜欢配置在用户变量的位置,也可以配置在系统变量的位置,具体的区别就是作用范围大小。
// 配置全局环境变量
JAVA_HOME			JDK 打开到安装目录的路径
// 系统环境变量的一种,用于保存一系列的路径,每个路径之间以分隔好分隔。当运行一个可执行文件的时候,操作系统首先会在当前目录下查找,然后再定义的路径下寻找该文件。
PATH				%JAVA_HOME%\bin;%JAVA_HOME%\jre/bin
// 系统环境变量的一种。当Java虚拟机需要运行一个类时,会在classpath环境变量中所定义的路径下寻找所需的class文件和类包。
CLASSPATH			.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

二、最新版本maven的配置

  1. Maven 是项目构建工具,能把项目抽象成POM(project object model),Maven 使用 POM 对项目进行构建、打包、文档化等操作。最重要的是解决了项目需要类库的依赖管理,简化了项目开发环境搭建的过程,使得我们的开发变得很容易。
  2. Maven 的核心是 pom.xml
1、groupId:表示项目所属的组,通常是一个公司或者是组织的名字。
2、artifactId:项目的唯一标识,可以作为项目的名字。
3、packaging:项目的类型。jar、war 以及 pom。
	3.1、三种包的作用不同。
4、version:项目的版本号。
	4.1、项目版本号分三段:主版本号.次版本号.修订版本号
		4.1.1、主版本号:代表架构变动或者不兼容实现
		4.1.2、次版本号:兼容性修改、功能增强
		4.1.3、修订版本号:bug修复
5、modelVersion:代表 pom 文件的 Maven 的版本。
6、depen…… 等依赖管理内容。
	6.1、scope :代表此类库与项目的关系,默认的是 compile ,也就是在编译和打包都需要此类库。test 表示仅仅在单元测试的时候需要。provided 表示在编译阶段需要此类库,但打包阶段不需要,这是因为项目的目标运行环境已经提供了。runtime 表示编译和打包的时候都不需要,在运行的时候需要,比如数据库驱动。
	6.2、在之前文章中给出的 Maven 依赖的网址中,依赖的内容已经标明了类库和项目的关系,不需要更改,请放心使用。
7、build :可选。设置多个插件,用来辅助项目构建。
		<build>
			<plugins>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.1</version>
					<confinguration>
						<source>1.8</source>
						<target>1.8</target>
						<encoding>UTF-8</encoding>
					</confinguration>
				</plugin>
			</plugins>
		</build>

三、IoC(控制反转)与Bean容器、注解、AOP(切面编程)

  1. Spring 的内容。SpringBoot、SpringFramework、SpringData、SpringCloud。以后慢慢学习。
  2. IOC 反转控制 以及 DI 依赖注入。相对于 Bean 直接构造依赖的对象。
传统的企业应用代码:
接口 UserService
实现类 UserServiceImpl implements UserService
		实现类编写私有全局的 注入Service
			例如:private CreditUserService creditUserService = new CreditUserService ();
		使用工厂,或者由工厂去创建。
			CreditUserServiceFactory.getService();
			ServiceFactory.getSerice(CreditUserService .calss);
		@Service : 声明为一个 Spring 管理的 Bean,由Spring进行初始化和增强。
			@Autowired : 在Spring容器中查找一个已经初始化好的 Bean 。

Spring 的常用注解

  1. @Controller 与 @RequestMapping 一起使用。
  • 声明此类是一个 MVC 类。
  1. @Service 声明此类是一个业务处理类,通常与 @Transactional 使用。
  2. @Repository 此类是一个数据库或者其他 NoSQL 访问类。
  3. @ResController:同Controller,用于 REST 服务。
  4. @Component:声明此类是一个 Spring 管理的类,通常用于无法使用上述注解描述的Spring管理类。
  5. @Configuration:声明此类是一个配置类,通常与注解 @Bean 配合使用。
  • Bean:作用在方法上,声明该方法执行的返回结果是一个Spring容器管理的Bean。
  1. Spring 负责实例化Bean,开发者可以提供一系列的回调函数,用于进一步配置Bean,包括@PostConstruct(初始化) 和 @PreDestroy(销毁之前)。

Spring AOP 介绍

AOP 提供另外一种思路来实现应用系统的公共服务。
1、每个业务方法的调用的权限管理。
2、每个方法调用的审计,记录谁调用了什么业务方法,传入了什么参数,操作是否成功。
3、数据库管理。开启事务,执行成功后提交事务,执行出错,则回滚事务。
4、缓存,对业务方法返回的数据进行缓存,下次调用的时候,参数未变,直接从缓存获取数据。
  1. @Configuration 用于声明一个 Spring 管理配置的 Bean,引起Spring的注意。
  2. @Aspect 声明这是一个切面类。
  3. @Around 声明一个表达式,描述织入的目标的特性。
  • @within 表示目标类带有注解的时候,会执行 Spring Aop 的方法。
  1. 织入的方法 的参数是 final ProceedingJoinPoint pjp 。
  2. 通常切面完成之后还要继续调用原有的业务逻辑,并将返回对象正常返回。 pjp.proceed();
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值