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(注解开发)的主要内容,如果未能解决你的问题,请参考以下文章

Day383.注解编程 -Spring5

Day644.Spring框架开发双刃剑 -Java业务开发常见错误

Spring框架学习笔记 --- [在spring中初步上手使用注解开发;以及JDBC的初步使用]

框架 day37 Spring3,AOP,代理模式(动态/CGLIB/工厂bean),传统AOP,AspectJ框架(基于xml/注解),切入点表达式,jdbcTemplate

spring笔记day-3

spring框架——day02常用配置和注解