Spring Framework(使用注解)

创建日期:2024-06-21
更新日期:2024-12-18

参考文档1:https://www.cnblogs.com/cyxdn/p/7979566.html

参考文档2:

https://stackoverflow.com/questions/28404817/annotationconfigapplicationcontext-has-not-been-refreshed-yet-whats-wrong

依赖项:

org.springframework:spring-context:5.2.12.RELEASE

org.projectlombok:lombok:1.18.20

常用注解:

@Configuration:从哪个类读取配置

@ComponentScan:扫描某个包及子包中的注解

@Component:根据情况选择@Repository、@Service、@Controller

@Repository:DAO层

@Service:Service层:

@Controller:Controller层

相关类:

entity/User.java

@Data

public class User {

private String name;

private Integer age;

private String email;

}

dao/UserDao.java

public interface UserDao {

List list();

}

dao/impl/UserDaoImpl.java

@Repository

public class UserDaoImpl implements UserDao {

public List list() {

User user1 = new User();

user1.setName("xiaoming");

user1.setAge(12);

user1.setEmail("9399288@qq.com");

User user2 = new User();

user2.setName("xiaoli");

user2.setAge(12);

user2.setEmail("2434343@qq.com");

List list = new ArrayList();

list.add(user1);

list.add(user2);

return list;

}

}

service/UserService.java

public interface UserService {

List list();

}

service/impl/UserServiceImpl.java

@Data

@Service

public class UserServiceImpl implements UserService {

private UserDao userDao;

public List list() {

return userDao.list();

}

}

Hello.java

@Configuration

@ComponentScan

public class Hello {

public static void main(String[] args) {

ApplicationContext context = new AnnotationConfigApplicationContext(Hello.class);

UserService service = context.getBean(UserServiceImpl.class);

List list = service.list();

for (User user : list) {

System.out.printf("name: %s age: %d email: %s%n", user.getName(), user.getAge(), user.getEmail());

}

}

}