==注解==

将配置文件中配置的每一个属性的值,映射到这个组件中

@ConfigurationProperties:告诉springboot将本类中的所有属性和配置文件中相关的配置进行绑定
prefix= "person":与配置文件中下面的所有属性一一映射,

只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能
-----------------------------------------------------------------------------
@ConfigurationProperties(prefix = "person")


@Value


@Override


@Component

-------------------------------------------------------
可以加载指定的配置文件;
@PropertySource(value = {"classpath:person.properties"})
-------------------------------------------------------
导入spring的配置文件,让配置文件里面的内容生效;
@ImportResource
-------------------------------------------------------
指明当前类是一个配置类;就是来替代之前的Spring配置文件
@Configuration
使用@Bean给容器中添加组件
@Bean
-------------------------------------------------------

  

一 @Component

1.@Component注解是Spring框架自定义的一个注解
2.@Componnet注解修饰的类表示,这个类的对象需要由Spring框架负责生成实例对象
3.Spring容器启动时,自动扫描工程中所有由@Component修饰的类,并自动生成对应的
实例对象并保存到Spring容器中
ApplicationContext factory = new ClassPathXmlApplicationContext();//启动Spring
4.使用:

 

@Component("stu")
class Student{
}

 

//如果@Component没有指定对象名称,此时Spring容器以类名首字母小写的形式命名这个对象
@Component
class School{

}

 

spring容器.put("stu",new Student());
spring容器.put( "school", new School())
5.@Component注解起到作用,实际就是要求Spring容器为开发人员提供【控制反转】
功能上类似于<bean/>

 

二。组件扫描器:
1.在使用注解的方式与Spring容器沟通时,必须声明一个组件扫描器。
组件扫描器通知Spring容器到哪一个包下扫描拥有@Component的类
2.如果没有声明组件扫描器,则在Spring容器创建过程中不会定位关联
@Component的类
3.组件扫描器的声明需要在spring框架的核心配置文件来注册

<context:component-scan base-package="指定Spring容器需要扫描的类所在包"/>


三 @Value

1.作用:为对象中基本类型属性进行赋值
类似于XML标签中<property name="基本属性名" value="赋值内容"/>

2.使用:
@Value可以修饰在属性上方,此时这个属性不需要声明set方法
@Value可以修饰在set方法上方
3.注意:
@Value出现类必须使用@Componet进行修饰

三。@Autowaried:

1.作用: 为对象中高级引用类型进行自动赋值
类似于<bean autowire="byName/byType"/>

2.使用:
1)在默认情况下,@Autowired根据属性的类型名来定位赋值的对象
2)@Autowired也支持根据属性名来定位Spring容器中对象需要用@Qualifier("指定的名称")

四。@Resource

1.作用:
@Resource并不是Spring框架提供的注解。是JDK提供注解。
负责为对象中高级引用类型属性进行赋值
Spring框架开发时候建立对@Resource的支持

2.使用

1)@Resource默认情况下,根据属性名来向Spring容器索要同名的对象
2) @Resource如果没有在Spring容器中找到同名的对象时,此时要求
Spring容器提供与当前属性类型相同的对象

 

五。Spring容器中控制反转与依赖注入总结

一。控制反转与依赖注入

1. 控制反转: IOC,表示在Spring容器启动时,自动对指定的类创建实例对象
并保存到Spring容器中,在开发人员开发时则可以向Spring容器
讨要已经创建好的实例对象,这样避免开发人员创建实例对象
从而降低开发人员开发负担

2.依赖注入: DI。表示Spring容器启动时,自动为指定的类创建实例对象
在创建实例对象过程中为指定属性赋值指定内容
这样避免开发人员手动为对象中属性设置初始值,降低开发
负担

二。如何与Spring容器进行沟通

1.通过xml标签
1)控制反转: <bean></bean>
2)依赖注入:
<bean>
<property name="基本类型属性名" value="值"/>
<property name="高级引用类型属性名" ref="spring容器对象象名"/>
<bean>

<bean>
<constructor-args name="构造方法基本类型形参名" value="值"/>
<constructor-args name="构造方法高级类型形参数" ref="Spring容器中对象名"/>
</bean>

<bean autowire="byType"></bean>
<bean autowire="byName"></bean>

2.通过注解 :

1) 控制反转 @Componet <context:componenent-scan base-package="通知spring容器需要扫描的包"/>

2) 依赖注入:

@Value:针对基本类型属性进行赋值

@Autowred:针对高级引用类型的属性赋值。默认根据类型名

@Resource: JDK提供的注解,针对高级引用类型的属性赋值。默认根据属性名

@SpringBootApplication   :标注这个类是一个springboot应用

@Mapper : 生成一个实现类,简化MyBatis代码

@Repository : 标识出数据库访问层的类

@Service :  定义到接口的实现类上

@AutoWired : 自动注入实例

@RestController : 不返回到页面,返回return里的内容,相当于@ResponseBody + @Controller

@Controller  : 返回到页面

posted @ 2021-04-27 12:00  丶恍惚  阅读(76)  评论(0)    收藏  举报