spring注解方式配置
一:导入注解方式需要的jar包
spring核心包+日志包+spring-aop包+context包
二: 给配置文件引入新的约束 context (开启bean注解约束)
xmlns:context="http://www.springframework.org/schema/context"
三:applicationContext,xml配置
base-package:扫描包的形式,扫描包下的所有类
<context:component-scan base-package="com.bean"></context:component-scan>
四:pojo中开启注解
对象的创建:将对象放入Spring 容器
- @Component(value=“user”)-------------------value可以省略
- @Controller(“user”)-------------------------------web层的注解
- @Service(“user”) ---------------------------------Service层的注解
- @Repository(“user”)-----------------------------dao层的注解
bean的作用域;Scope设置
- @Scope(“singleton”)-----------------------------bean的作用域;Scope设置
属性值的注入
@value(" ")
- 属性上value:通过反射进行对象的赋值 ,(破坏了封装性) (但是方便 简洁明了)
@Value("张三丰")
private String username;
@Value("18")
private int age;
- 通过set方法 进行赋值 (推荐使用)
@Value("李白")
public void setUsername(String username) {
this.username = username;
}
-
引用数据类型的注入 Car 对象
@Autowired-----------------------------------------自动装配;自动将容器中的对象放入到其他引用对象中
@Qualifier(“cat1”)----------------------------------如果有多个属性需要Qualifier属性
@Resource(name=“cat1”)-----------------------手动装配注入**(建议)** -
init和destory
@PostConstruct---------------------init初始化方法
@PreDestroy-------------------------destory销毁方法
例如
@Component(value="user")
@Scope("singleton")//多例
//@Controller("user")//web层的注解
//@Service("user")//借名之意Service层的注解
//@Repository("user")//dao层的注解
public class User {
@Value("张三丰")
private String username;
@Value("18")
private int age;
//@Autowired//自动装配;自动将容器中的对象放入到其他引用对象中
//@Qualifier("cat1")//如果有多个属性需要Qualifier属性
@Resource(name="cat1")//手动装配注入(建议)
private Cat cat;
@PostConstruct
public void init() {
System.out.println("init初始化方法------");
}
@PreDestroy
public void destroy() {
System.out.println("destory销毁方法");
}
@Value("李白")
public void setUsername(String username) {
this.username = username;
}
Spring的Junit的整合(方便测试 可用可不用)
配置test的jar包:spring-test-4.2.4.RELEASE.jar
@RunWith(SpringJUnit4ClassRunner.class)-----------------------------创建spring容器
@ContextConfiguration(“classpath:applicationContext.xml”)---------依赖配置文件classpath,src的根目录
//创建spring容器
@RunWith(SpringJUnit4ClassRunner.class)
// 依赖配置文件classpath,src的根目录
@ContextConfiguration("classpath:applicationContext.xml")
public class SpringJunitTest {
@Resource(name = "user")
private User user;
@Test
public void Test01() {
}