网站建设 工作室,做网站站长一年能赚多少钱,jsp网站服务建设开题报告,前端开发语言文章目录一、Bean交给Spring管理1、Component2、Bean3、Controller4、Service5、Repository6、Configuration7、ComponentScan二、作用域1、Lazy(false)Scope三、依赖注入1、Autowired2、Resource3、Qualifier四、读取配置文件值1、Value一、Bean交给Spring管理 
1、Component …
文章目录一、Bean交给Spring管理1、Component2、Bean3、Controller4、Service5、Repository6、Configuration7、ComponentScan二、作用域1、Lazy(false)Scope三、依赖注入1、Autowired2、Resource3、Qualifier四、读取配置文件值1、Value一、Bean交给Spring管理 
1、Component 
通用注解等效于基于XML创建Bean的标签bean id class在类上添加将这个类识别为Bean放入IOC容器中交给Spring管理属性//定义bean-id无值默认为类首字母小写
String value();2、Bean 
在方法上添加方法会返回一个对象放入IOC容器中交给Spring管理默认方法名注入的对象名也可以指定名称Bean(namejedisPool)和Component异同 两个都是注册bean到Spring容器中当想要将第三方库中的组件装配到你的应用中在这种情况下是没有办法在它的类上添加Component注解的此时可以使用Bean如RedisTemplate、JedisPool  
3、Controller 
添加在控制器类上里面包含Component 
4、Service 
添加在业务层实现类上里面包含Component 
5、Repository 
添加在持久化层实现类上里面包含Component 
6、Configuration 
配置类注解会把这个类作为配置文件读取里面包含Component 
7、ComponentScan 
在类上添加组件扫描注解该注解就是扫描类上含有Comment注解的类将它放入Spring容器扫描包的范围不仅仅扫描本项目也会扫描项目中的依赖如value“com.kimi”会扫描本项目中的com.kimi包及其子包、所有依赖中的com.kimi包及其子包等效于context:component-scan属性//设置扫描包路径不写会扫描该类所在的包及其子包basePackages
String[] value() default {};//设置扫描包路径value
String[] basePackages() default {};二、作用域 
1、Lazy(false) 
类上添加设置饿汉、懒汉属性//true - 懒汉式默认
boolean value() default true;Scope 
在类上添加设置单例、非单例Scope(prototype) 、Scope(singleton) 单例默认 
三、依赖注入 
1、Autowired 
byType装配匹配到的类型 1 会异常属性//匹配类型是否必须存在
boolean required() default true;2、Resource 
属于java(J2EE)并不属于Spring若指定name属性则按照名称(by-name)装配未找到则抛异常若指定type属性则按照类型(by-type)装配未找到、找到多个则抛异常未指定name、type属性按照名称(by-name)装配如果未找到则按照类型(by-type)装配 
3、Qualifier 
一般配合Autowired使用AutowiredQualifier  Resource的by-name比如一个接口有两个实现类时使用Autowired注入找到2个 会异常使用Qualifier指明要注入的实现类的名称 
Resource(nameuser)
private User user;Autowired
Qualifier(user)
private User user;四、读取配置文件值 
1、Value 
将配置文件中的值注入属性作为属性的初始值不支持松散绑定 
my:host: http://localhostport: 8080Value(${my.url})
private String url;Value(${my.port})
private Integer port;