JAVA Config 配置

JavaConfig 纯JAVA注解

1、无需配置applicationContext.xml文件
2、被注入类
package com.chris.Dao;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;


// @Component 这个注解是说明 这个类被Spring接管了 注册到了容器当中
@Component
public class UserDao {

   private String name;

   public String getName() {
       return name;
  }

   @Value("zhangsan")
   public void setName(String name) {
       this.name = name;
  }

   @Override
   public String toString() {
       return "UserDao{" +
               "name='" + name + '\'' +
               '}';
  }
}

 

3、 配置类
package com.chris.pojo;

import com.chris.Dao.UserDao;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

// @Configuration 这个注解是说明 这个类被Spring接管了 注册到了容器当中 因为这也是个@Component
// @Configuration 这就是一个配置类 相当于之前学过的beans.xml
@Configuration

//也可以使用@ComponentScan注解去扫码包
@ComponentScan("com.chris.Dao")

//@Import 相当于xml中等同效果
@Import(appConfigClass2.class)
public class appCongfigClass {

   // @Bean 类似于XML总<bean/>
   // 方法名字 GetUser相等于beanid
   // 方法的返回值相当于之前的class标签内容
   @Bean
   public UserDao GetUser() {
       return new UserDao();
  }
}

 

4、测试类
import com.chris.Dao.UserDao;
import com.chris.pojo.appCongfigClass;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MyTest {
   public static void main(String[] args) {
       // AnnotationConfigApplicationContext 获取注解的上下文配置 直接读取配置类文件
       ApplicationContext context = new AnnotationConfigApplicationContext(appCongfigClass.class);
       UserDao userDao = (UserDao) context.getBean("GetUser");
       System.out.println(userDao.getName());
  }
}

 

posted @ 2020-08-06 11:23  Chris丶Woo  阅读(645)  评论(0编辑  收藏  举报