当前位置: 移动技术网 > IT编程>开发语言>Java > 利用注解配置Spring容器的方法

利用注解配置Spring容器的方法

2019年07月19日  | 移动技术网IT编程  | 我要评论

本文介绍了利用注解配置spring容器的方法,分享给大家,具体如下:

@configuration标注在类上,相当于将该类作为spring的xml的标签

@configuration
public class springconfiguration {
 public springconfiguration() {
  system.out.println("初始化spring容器");
 }
}

主函数进行测试

public class main {
 public static void main(string[] args) {
  applicationcontext context = new annotationconfigapplicationcontext(springconfiguration.class);

 }
}

利用注解annotationconfigapplicationcontext加载applicationcontext

运行结果如下

信息: refreshing org.springframework.context.annotation.annotationconfigapplicationcontext@2e5d6d97: startup date [sat dec 09 11:29:51 cst 2017]; root of context hierarchy
初始化spring容器

利用@bean向容器中添加bean实例

public class user {
 private string username;
 private int age;

 public user(string username, int age) {
  this.username = username;
  this.age = age;
 }

 public void init(){
  system.out.println("初始化user...");
 }

 public void say() {
  system.out.println(string.format("hello,my name is %s,i am %d years old ", username, age));
 }

 public void destory(){
  system.out.println("销毁user ...");
 }
}

@configuration
public class springconfiguration {
 public springconfiguration() {
  system.out.println("初始化spring容器");
 }
 //@bean注解注册bean,同时制定初始化和销毁的方法
 @bean(name = "user", initmethod = "init", destroymethod = "destory")
 @scope("prototype")
 public user getuser() {
  return new user("tom", 20);
 }
}

@bean注解在返回实例的方法上,如果没有指定bean的名字,则默认与标注的方法名称相同

@bean注解默认作用域为单例的singleton作用域

利用@componentscan添加自动扫描@service,@ripository,@controller,@component注解

@component
public class cat {
 public cat() {
 }
 public void say() {
  system.out.println("i am a cat" );
 }
}

@configuration
@componentscan(basepackages = "com.spring.annotation.ioc")
public class springconfiguration {
 public springconfiguration() {
  system.out.println("初始化spring容器");
 }
 //@bean注解注册bean,同时制定初始化和销毁的方法
 @bean(name = "user", initmethod = "init", destroymethod = "destory")
 @scope("prototype")
 public user getuser() {
  return new user("tom", 20);
 }
}

利用basepackages扫描包配置路径

运行结果如下

初始化spring容器
初始化user...
hello,my name is tom,i am 20 years old 
i am a cat

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网