可以使用注解对Bean进行开发。在Java中,注解是元数据的一种形式,可以用来提供关于代码的额外信息,以便编写更加灵活和动态的程序。
Spring框架提供了许多注解,例如@Component、@Service、@Repository等,用于标识Spring管理的Bean。下面是一个使用注解开发Bean的示例:
首先,使用@Repository定义数据层(dao层),用@Service定义业务层
//@Component("bookDao")
//利用@REpository定义数据仓库
@Repository("bookDao")
public class BookDao {
public void save(){
System.out.println("bookDao running");
}
}
//@Component
//通过@Service定义业务层
@Service
public class BookServiceImpl implements BookService {
//这边可以用@Autowired进行自动注入,下面的set方法旧不需要写了
public BookDao bookDao;
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
@Override
public void save() {
System.out.println("bookService save is running" );
}
}
然后配置,xml核心配置文件中通过组件扫描加载bean(application.xml)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd"
>
<!--扫描org.circle下面的所有包和子包-->
<context:component-scan base-package="org.circle"/>
</beans>
最后编写测试代码
public class App {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml");
//根据bean的名称获取bean对象
BookDao bookDao = (BookDao)ctx.getBean("bookDao");
//根据类名获取bean对象
BookService bookService = (BookService)ctx.getBean(BookService.class);
//输出dao层对象
System.out.println(bookDao);
//输出service层对象
System.out.println("bookService = " + bookService);
}
}