一、Spring

1.1 基于注解方式实现属性注入
@Autowired
是根据类型自动装配的,加上@Qualifier则可以根据byName的方式自动装配。@Qualifier不能单独使用。
@Resource
如有指定的name属性,先按该属性进行byName方式查找装配;其次再进行默认的byName方式进行装配;如果以上都不成功,则按byType的方式自动装配。

@Component
@Controller:web层
@Service:service层
@Repository:dao层
这四个注解功能是一样的,都可以用来创建 bean实例

@Configuration

二、SpringMVC

2.1 1、什么是MVC
MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。
Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
View(视图):显示页面
Controller(控制器):取得表单数据、调用业务逻辑、转向指定的页面

对注解进行一次整理
dao层、service层、controller层、entity层和view层

sring
@Configuration注解 该类等价 与XML中配置beans,相当于Ioc容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean,与xml中配置的bean意思一样。
@Bean
@Scope 是Spring中用于定义Bean对象作用域的一个注解,其常用的值有singleton(整个内存有一份Bean实例),prototype(每次获取都会创建新实例)等。

@Controller, @Service, @Repository,@Component

@Autowired,@Qualifier:Autowired默认先按byType,如果发现找到多个bean,则,又按照byName方式比对,如果还有多个,则报出异常;可以手动指定按byName方式注入,使用@Qualifier
@Resource:默认按 byName自动注入,如果找不到再按byType找bean,如果还是找不到则抛异常,无论按byName还是byType如果找到多个,则抛异常。可以手动指定bean,它有2个属性分别是name和type,使用name属性,则使用byName的自动注入,而使用type属性时则使用byType自动注入。

sringboot
@Autowired 注解用于描述属性或相关方法(例如set方法,构造方法等),用于告诉spring容器为指定属性赋值。
@Mapper 是由MyBatis框架中定义的一个描述Mapper接口的的注解,用于告诉Spring框架此接口由底层(mybatis)创建其实现类对象,并存储到spring容器.

@validated 数据检验

@Import 导入组件
@Conditional 条件装配
@ImportResource 导入Spring配置文件