Spring框架学习Day03(注解开发)
Posted 龚喜发财+1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring框架学习Day03(注解开发)相关的知识,希望对你有一定的参考价值。
一.Spring注解开发
1.bean
//@Component相当于<bean id="user" class="com.xu.pojo.User"></bean>
@Component
public class User {
public String name="hh";
}
@Component相当于<bean id="user" class="com.xu.pojo.User">
2.属性如何注入
@Component
public class User {
@Value("xu")
public String name;
}
或者放在set函数上面
@Component
public class User {
public String name;
@Value("hhjj")
public void setName(String name) {
this.name = name;
}
}
@Value相当于<property name="name" value="xxjj">
3.衍生
@Component有几个衍生注解,在web开发中,按照mvc三层架构进行分层
- dao【@Repository】
- service【@Service】
- controller【@Controller】
这四个注解功能一样,都是将某个类注册到spring中,装配bean
4.自动装配置
见day02笔记
5.作用域
@Scope(“singleton”)单例模式
二.完全使用java方式配置Spring
完全不使用xml进行配置,使用java语言进行配置
User
@Component
public class User {
@Value("hh")
private String name;
public String getName() {
return name;
}
}
config
//@Configuration代表这是一个配置类,相当于之前的applicationContext.xml
//也会由Spring容器托管,注册到容器中,因为本身也是一个@Component
@Configuration
public class config {
//注册一个Bean,相当于之前的bean标签
//这个方法的名字就是相当于bean中的id属性
//这个方法的返回值,相当于bean标签中的class属性
@Bean
public User user(){
return new User();//返回要注入到bean中的对象
}
}
Mytest
public class Mytest {
public static void main(String[] args) {
ApplicationContext context =new AnnotationConfigApplicationContext(config.class);
User getuser=(User) context.getBean("user");
System.out.println(getuser.getName());
}
}
以上是关于Spring框架学习Day03(注解开发)的主要内容,如果未能解决你的问题,请参考以下文章
Day644.Spring框架开发双刃剑 -Java业务开发常见错误
Spring框架学习笔记 --- [在spring中初步上手使用注解开发;以及JDBC的初步使用]
框架 day37 Spring3,AOP,代理模式(动态/CGLIB/工厂bean),传统AOP,AspectJ框架(基于xml/注解),切入点表达式,jdbcTemplate