JAVA小白学习总结-------Spring常用注解

  前言:注解在真实开发中用到比较多,并且在使用注解后很大程度会使开发更加简单,所以得熟练学会使用注解,并且了解注解的作用;有四种@Component用于实体层(entity)@Controller用于控制(controller)@Service业务逻辑(service)@Repository持久层(dao),这四种注解形式都是用于将当前对象存入IOC容器中,而之所以有不同形式是为了配合MVC开发模式,所以得熟悉MVC开发模式规范;

 一:创建对象的注解:

有四种@Component用于实体层(entity)@Controller用于控制(controller)@Service业务逻辑(service)@Repository持久层(dao);其作用都是将当前对象存放于ioc容器中,由ioc容器统一管理

二: 注入对象的注解

  @Autowired:它会根据当前成员变量的类型去IOC容器中寻找,匹配到相同的对象就会立即赋值给当前变量;所以在使用成员变量调用别的包的方法时就可以使用这个注解;

  @Qualifier:根据名称去寻找需要的对象,例如有一个接口,然后有两个实现类都实现了这个接口,现在有个类使用了上面的注解后需要去寻找,就会报错,所以得需要这个注解搭配使用;

  

这边报的异常意思就是根据类型寻找到两个相同的类,所以会进行报错,解决方法就是搭配使用@Qualifier()注解,括号里填写你要定位到类的id默认类名小写;

  @Scope:指定Bean的作用范围,一般都是使用默认的单例模式,如果要改成多例模式就在括号里添加上prototype即可;

  @PostConstruct注解使用这个注解以后可以直接把这个方法注入到ioc容器之中;就不需要在创建对象来获取;而且默认最先自动调用该方法;但须注意的是,static静态代码块优先级>构造器>该注解

  @Resource

相当于前两者的结合体;

  @Configuration:这是一个专用于配置类的注解,当你使用这个注解以后表明当前类是一个配置类通常和@ComponentScan()注解搭配使用,这个注解()里填入要扫描的包路径,用完这两个注解后就相当于创建了ioc容器,和使用spring.xml的形式类似,但是在后面创建ioc容器的类时要使用AnnotationConfigApplicationContext()括号里填入配置类的路径;

   利用这两个注解就相当于创建好了一个ioc容器

  @Import注解,这个注解的作用就是将一个配置类导入到另一个配置类中,()里要填入的是要导入的类的名称.class一般来说,不采用这个注解,因为如果有多个注解的话还是可以使用这个注解@Configuration

@PropertySource
@Value("$(配置文件中的Key)")

这两个注解一般来说搭配使用;前者是可以读取.properties文件中的配置后者可以获取值

需要注意的是

用于指定properties文件位置,如果是在类路径下,需要写上classpath

@PropertySource("classpath:配置文件.properties")

这样我们就可以模拟JDBC中的druid连接池,就不再需要那么复杂的连接方式了;

这边需要注意的是需要自己去将d'ruid的配置文件中将username换一个名称,因为会自动识别成电脑的id所以得去重新命名一下;

这样以后在测试类中就可以直接连接数据池了

@Bean

这个注解的作用是将方法直接存放到ioc容器之中,然后就不再依赖与实体类,但是这个注解只适用于放在方法下,属性:name,给当前@Bean注解方法创建的对象指定一个名称(即Bean的id)。不写时,默认就是当前方法的名称。

这边需要注意的是那边的方法必须得设置成一个Connection类型的方法,这样才能再通过方法名的时候进行一个强制转换;

                                                                                                                                                                             

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值