spring:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护。
依赖注入是其一种实现方式,创建对象并组装对象之间的关系。
Bean容器的初始化:
Org.springframework.beans
Org.springframework.context
BeanFactory提供配置结构和基本功能,加载并初始化Bean;
ApplicationContext保存了Bean对象并在spring中广泛使用。
ApplicationContext
—本地文件
—Classpath
Spring注入
Spring注入是指在启动Spring容器加载bean配置的时候,完成对成员变量的赋值行为。
常用的两种方式注入(配置xml文件)
-设值注入<property/> 自动调用set方法
-构造注入<constructor-arg/>
Bean的生命周期
生命周期:
定义:
初始化:1 <init-method=”init”/>
2实现org.springframework.beans.factory.InitializingBean接口,覆盖afterPropertiesSet方法
销毁 1实现org.springframework.beans.factory.DisposableBean接口,覆盖destory方法
2<destroy-method=”/”>
全局的也可以。
Bean的自动装配:(Autowiring)
No:不做任何操作
Byname:根据属性名自动装配。(id)
ByType:如果容器中存在一个与指定属性类型相同类型的bean,那个将自动装配,如果存在多个类型bean,那么会抛出异常。
Constructor:与bytype方式类似。
Default-autowire=”byname”
Bean基于注解的实现的例子,使用java而不是xml定义bean
@Compoent是一个通用的注解,可用于任何bean
@Repository通常用于注解DAO,
@Service通常用于注解Service类
@Controller通常用于Controller类。控制层
@Required注解适用于bean属性的setter方法
spring可以自动检测类并注册bean到ApplicationContext中
<context:annotation-config/>仅会查找在同一个applicationcontext中的bean注解。
<context:component-scan base-package=””/>
<context:component-scan包含<context:annotation-config
@Autowired 用在set方法中也可以用在构造器和成员变量中
spring boot:
@Controller:处理http请求
@RestController:spring4之后新加的注解,原来返回json需要@ResponBody配合@Controller
Controller的使用
@PathVariable:获取url中的数据
@RequestParam:获取请求参数的值 ?id=
@GetMapping:组合注解
数据库操作:
mybatis-config.xml
Devops:Development和Operations的组合,自动话流程使得软件的构建,测试,发布更加快捷,频繁和可靠。
Docker是基于OS层的虚拟话技术之上的容器引擎,实现对进程的封装隔离。开发者可以打包他们的应用以及依赖包到一个可移植的容器中。然后发布到任何流行的linux机器上。