Spring 使用java和註解開發,不使用beans.xml
阿新 • • 發佈:2022-04-22
congig配置類
//這個也會被Spring容器託管,註冊到容器中,以為他本來就是一個@ComponentScan
//@Configuration代表這是一個配置類,就是我們之前看到的beans.xml
@Configuration
@ComponentScan("com.liu.pojo")可以配合掃描使用
package com.liu.config; import com.liu.pojo.User; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; //這個也會被Spring容器託管,註冊到容器中,以為他本來就是一個@ComponentScan //@Configuration代表這是一個配置類,就是我們之前看到的beans.xml @Configuration @ComponentScan("com.liu.pojo") public class UserConfig { //等價於生成一個 id=“getUser”,class = com.liu.pojo.User @Bean public User getUser(){ return new User(); } }
pojo
需要//@Component註冊到容器中
package com.liu.pojo; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; //@Component註冊到容器中 @Component public class User { @Value("小明") private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User{" + "name='" + name + '\'' + '}'; } }
測試
需要用new AnnotationConfigApplicationContext(UserConfig.class)
import com.liu.config.UserConfig; import com.liu.pojo.User; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class MyTest { public static void main(String[] args) { ApplicationContext Context = new AnnotationConfigApplicationContext(UserConfig.class); User getUser = Context.getBean("getUser", User.class); System.out.println(getUser); } }