Java之Spring基础与IoC (4)

java自带的一个注解,和@Autowired,@Qualifier组合用法和效果基本是一样

javax.annotation.Resource @Resource //不指定名称自动装配 @Resource(name="") //指定名称自动装配 使用注解开发

bean在xml里注册,属性值通过注解注入

@component

泛指各种组件,把普通pojo实例化到spring容器中,相当于配置文件中的bean,将该类在配置文件下注册到Spring容器中装配bean。类似的还有:

1、@controller 控制器(注入服务)
用于标注控制层,相当于struts中的action层

2、@service 服务(注入dao)
用于标注服务层,主要用来进行业务的逻辑处理

3、@repository(实现dao访问)
用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件.

@Scope

生命周期,用法:在目标类上面声明

@Scope("singleton") @Configuration

用于声明这是一个配置类

@Bean

相当于在配置文件中注册bean

方法名为之前的id属性

方法返回值为之前的class属性

@Import

导入其他配置类,等价于

<import resource="beans.xml"/>

使用方法

@Import(Config.class) 示例代码

pojo

//相当于在bean中注册,相当于在Spring IoC容器new一个对象 @Component public class User { @Value("CoLoo") public String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User{" + "name='" + name + '\'' + '}'; } }

config

@Configuration @ComponentScan("com.zh1z3ven.pojo") public class AppConfig { @Bean public User getUser(){ return new User(); } }

test

public class MyTest { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); User user = context.getBean("user", User.class); System.out.println(user.getName()); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpdxj.html