public class UserService { public UserService(UserRepository userRepository) { this.userRepository = userRepository; } public void setUserRepository(UserRepository userRepository) { this.userRepository = userRepository; } // ... } <bean id="userService" class="com.example.UserService"> <constructor-arg ref="userRepository" /> </bean> <bean id="userRepository" class="com.example.UserRepositoryImpl" /> @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "username") private String username; // ... } @Repository public class UserRepository { @Autowired private SessionFactory sessionFactory; public void saveUser(User user) { Session session = sessionFactory.getCurrentSession(); session.save(user); } // ... } <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan" value="com.example.models" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> @Controller public class UserController { @RequestMapping("/user/{id}") public String getUser(@PathVariable int id, Model model) { User user = userService.getUserById(id); model.addAttribute("user", user); return "user"; } } @Configuration @EnableWebMvc @ComponentScan(basePackages = "com.example") public class AppConfig implements WebMvcConfigurer { @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/views/"); viewResolver.setSuffix(".jsp"); return viewResolver; } // ... } <servlet> <servlet-name>app</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/app-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>


上一篇:
下一篇:
切换中文