一,spring原始注解
spring原始注解主要是替代自定义<Bean>
的配置
1.1使用在类上面
1.@Component:使用在自定义类上用于实例化Bean
@Component("userService")
public class UserServiceImpl implements UserService{
}
2.@Controller:使用在web层类上用于实例化Bean,与Component相同
@Controller("userController")
public class UserControllerImpl implement UserController{
}
3.@Service:使用在service层类上用于实例化Bean,与Component相同
@Service("userService")
public class UserServiceImpl implement UserService{
}
4.@Repository:使用在dao层类上用于实例化Bean,与Component
@Repositroy("userDao")
public class UserDaoImpl implement UserDao{
}
5.@Scope:使用在类上面,标注Bean的作用范围
@Scope("singleton")
public class UserDaoImpl implement UserDao{
}
1.2使用在成员变量上面
1.@Autowired:按照数据类型从spring容器中注入,自动装配对象属性
@Autowired
private UserDao userDao;
2.@Autowired
@Qualifier(“id名”):按照id名从spring容器中注入,自动装配对象属性
@Autowired
@Qualifier("注入bean的id值")
private UserDao userDao;
3.@Resource:按照id名从spring容器中注入,自动装配对象属性
@Resource(name="注入bean的id值")
private UserDao userDao;
4.@Value:注入普通属性,一般从加载的properties配置文件中通过spel从容器中取值
以达到解耦的目的.
@Value("${name}")
private String name;
1.3使用在成员方法上面
1.@PostConstruct:使用在方法上面标注该方法时Bean的初始方法
@PostConstruct
public void init(){
System.out.println("该Bean的初始化方法");
}
2.@PreDestroy:使用在方法上面标注该方法时Bean的销毁方法
@PreDestroy
public void destroy(){
System.out.println("该Bean的销毁方法");
}
二,spring的新注解
spring新注解主要是来配置原始注解不能配置的标签
2.1使用在类上面
1.@Configuration:用于指定当前类是一个Spring核心配置类,当创建容器时会从该类上加载注解
@Configuration
public class SpringConfiguration(){
}
2.@ComponentScan:用于指定Spring容器初始化时要扫描的包中的配置的组件.作用和在Spring核心配置文件中的标签 <context:component-scan base-package='包名' />
一样
@ComponentScan("包名")
public class SpringConfiguration(){
}
3.@Import:用于导入其他配置类,可以导入多个
@Import({DataSourceConfiguration.class})
public class SpringConfiguration(){
}
4.@PropertySource:用于加载.properties配置文件到Spring容器当中,这里以放在resource目录下面的jdbc.properties文件路径为例.
@PropertySource("classpath:jdbc.properties")
public class DataSourceConfiguration(){
}
2.2使用在方法上面
1.@Bean:使用在方法上面,标注将该方法的返回值存储到Spring容器当中,这里就可以将非自定义的bean存入到Spring容器当中
@Bean("connection")
public Connection getConnection(){
}
三,总结
Spring基于注解开发
原始标签一共常用的是11个,可以完成
注入自定义bean(4个)
设置自定义bean的作用范围(1个)
设置自定义bean的初始方法(1个)
设置自定义bean的销毁方法(1个)
注入对象属性(3个)
注入普通属性(1个)
新标签一共常用的是5个,可以完成标注一个自定义bean为核心配置类(1个)
扫描指定包名(1个)
导入其他配置类(1个)
加载.properties配置文件(1个)
将非自定义bean存储到Spring容器当中(1个)
————————————————