基本注解
一、Bean注解:
下面几个作用一样:标识一个bean对象,让资源交给spring来管理
@Component 任何类都能能用
@Service 用在 service类
@Repository 用在dao类
@Ccontroller 用在控制器类,springmvc
二、成员属性注入:
@Autowired:如果在成员属性上使用该注解,那么服务器启动的时候,Spring容器就会自动查找该类型以及它的子类型。如果找到就会创建该类对象,并且注入到该成员属性中。
@Qualifier:按照bean的名字注入,个@autowired一起用
@resource(“name=”):等同于@Autowired+@Qualifier
@value:注入基本类型和String类型
@Scope:设置bean的作用域{
singleton、prototype、 request、session、globalsession }
三、生命周期注解:
@PostConstruct:指定初始化方法;
@PreDestory:指定销毁方法;
使用注解
-
创建一个类,用@component标注
-
新建配置文件,配置包扫描功能
<context component-scan base-package="com.chinasofti"/>;
@Service("userService")
public class UserService{
/*@Autowired
@Qualifier("studentDaoImpl")*/
@Resource(name="teacherDaoImpl")
private IDao dao;
public UserService(){
System.out.println("创建userservice对象...");
}
public void addUser(){
dao.add();
}
}
Spring零配置
spring零配置,可以摆脱配置文件
@Configuration:从当前类中加载读取配置信息
@ComponentScan(basePackages = “ 包”):指定spring容器初始化要扫描的包
定义配置类 class SpringConfig{ }
当没了配置文件就不能用classpathxmlapplicationcontext创建对象,而要用annotationconfigapplication来创建对象
annotationconfigapplication(SpringConfig.class);